.home-support{background:#fff;color:#111;padding:64px 0}
.home-support .support-grid{max-width:1280px;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:start}
.home-support #faq{min-width:0;background:transparent;color:#111}
.home-support .faq-shell{width:100%;max-width:none;margin:0;padding:16px 0 0}
.home-support .faq-kicker{color:#666;font-size:12px;letter-spacing:.1em;margin:0 0 20px}
.home-support .faq-title{font-size:clamp(30px,2.7vw,38px);line-height:1.22;letter-spacing:-.055em;color:#111}
.home-support .faq-intro{margin:20px 0 28px;color:#666;font-size:15px;line-height:1.75}
.home-support .faq-list{border-color:#d4d4d4}
.home-support .faq-item{border-color:#d4d4d4}
.home-support .faq-item summary{min-height:64px;padding:19px 36px 19px 0;font-size:17px;line-height:1.5;color:#111}
.home-support .faq-item summary::after{color:#555;right:2px}
.home-support .faq-answer{font-size:15px;color:#555;line-height:1.8;padding:0 32px 24px 0;word-break:keep-all;overflow-wrap:anywhere}
.home-support #contact{display:block;width:auto;max-width:none;min-width:0;min-height:0;margin:0;padding:32px;background:#111;color:#fff}
.home-support #contact .contact-copy{width:100%;max-width:none;margin:0;padding:0;background:transparent}
.home-support #contact .section-label{margin:0 0 20px;color:#aaa;font-size:12px;letter-spacing:.1em}
.home-support #contact h2{margin:0 0 20px;font-size:clamp(30px,2.7vw,38px);line-height:1.22;letter-spacing:-.055em}
.home-support #contact em{color:inherit}
.home-support #contact .body-copy{margin:0;color:#bbb;font-size:15px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.home-support #contact .contact-button{max-width:none;min-height:54px;margin-top:24px;padding:0 18px;border:1px solid #555;background:#111;font-size:16px}
.home-support #contact .contact-button-label{color:#fee500}
.home-support #contact .contact-note{margin:10px 0 0;color:#aaa;font-size:14px}
.home-support .support-contact-info{margin-top:28px;padding-top:24px;border-top:1px solid #444;display:grid;gap:22px}
.home-support .support-business-name{margin:0 0 10px;font-size:18px;line-height:1.6;font-weight:700}
.home-support .support-business-name span{display:inline-block;color:#bbb;font-size:14px;font-weight:400}
.home-support .support-phone{display:inline-flex;align-items:center;min-height:32px;color:#fff;font-size:16px;text-decoration:underline;text-underline-offset:4px}
.home-support .support-place h3{margin:0 0 8px;font-size:16px;line-height:1.5;font-weight:700}
.home-support .support-place address{margin:0;color:#ccc;font-style:normal;font-size:15px;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere}
.home-support .support-reservation{margin:8px 0 0;color:#aaa;font-size:13px;line-height:1.6;word-break:keep-all}
.home-support a:focus-visible,.home-support summary:focus-visible{outline:2px solid currentColor;outline-offset:5px}
.home-support #contact .contact-button:hover{background:#252525;border-color:#888}
@media(max-width:900px){
 .home-support{padding:48px 0}
 .home-support .support-grid{grid-template-columns:minmax(0,1fr);gap:36px}
 .home-support .faq-shell{padding:0}
 .home-support #contact{padding:28px}
 .home-support .faq-title,.home-support #contact h2{font-size:34px}
}
@media(max-width:480px){
 .home-support .support-grid{padding-left:24px;padding-right:24px}
 .home-support #contact{padding:24px}
 .home-support .faq-title,.home-support #contact h2{font-size:30px}
 .home-support .faq-item summary{font-size:16px}
 .home-support .faq-answer{padding-right:14px}
 .home-support .support-business-name span{display:block}
 .home-support .support-phone{min-height:44px}
}
