/* 7788 shared spacing system. Loaded after the visual layers. */
.rs{--page-gutter:56px;--content-max:1180px;--space-1:8px;--space-2:16px;--space-3:24px;--space-4:32px;--space-5:48px;--space-6:64px}
.rs .l-container{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-max);padding:0;margin-inline:auto;box-sizing:border-box}
.rs .brand-home-shell,.rs .brand-footer-contact__inner{width:calc(100% - var(--page-gutter)*2);max-width:var(--content-max);margin-inline:auto}
.rs .p-top-feature__wrapA,.rs .p-top-feature__wrapB{padding-inline:0}
.rs .p-top-feature__picture{right:0}
.rs .p-service-cards{padding:48px 0 64px;gap:32px}
.rs .p-service-cards .c-cards-service__link{padding:24px;height:100%;box-sizing:border-box}
.rs .p-service-cards .c-cards-service__title{margin-top:8px;margin-bottom:12px}
.rs .p-service-cards .brand-muted{margin-top:16px}
.rs .p-price-list,.rs .p-staff-list,.rs .p-contact-body,.rs .p-faq-body,.rs .p-service-detail{padding:48px 0 64px}
.rs .p-price-list__wrap,.rs .p-staff-list__wrap{padding:0}
.rs .brand-copy-intro{margin:0 auto 48px}
.rs .brand-copy-intro h2{margin:8px 0 20px;line-height:1.6}
.rs .p-price-section{margin:0;padding:32px 0;border-top:1px solid var(--brand-border)}
.rs .p-price-section+.p-price-section{margin-top:24px}
.rs .p-price-section__head{margin:0 0 24px}
.rs .p-price-section .c-heading-section{display:flex;flex-direction:column;align-items:flex-start;gap:8px;text-align:left}
.rs .p-price-section .c-heading-section__en{margin:0;font-size:12px;letter-spacing:.08em}
.rs .p-price-section .c-heading-section__ja{margin:0;font-size:24px;line-height:1.5}
.rs .brand-quote-row{gap:40px;align-items:center}
.rs .brand-quote-row h3{margin:0 0 16px}
.rs .brand-quote-row img{height:240px;object-fit:contain}
.rs .p-staff-list__title{text-align:left;font-size:28px;line-height:1.5}
.rs .p-staff-list__desc{margin-top:16px;line-height:1.9;font-size:16px}
.rs .brand-about-grid{margin:32px 0 48px;gap:24px}
.rs .brand-about-card{padding:24px}
.rs .brand-about-card h3{margin:16px 0 8px}
.rs .p-contact-body__list{gap:48px}
.rs .p-contact-list__link,.rs .p-contact-list:nth-child(even) .p-contact-list__link{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:40px}
.rs .p-contact-list__link:is(:hover,:active){transform:none}
.rs .p-contact-list__head{padding:0 56px 16px 0}
.rs .p-contact-list__desc{margin-top:16px;line-height:1.9;font-size:16px}
.rs .p-contact-list__ico{width:44px;height:44px;right:0;top:0}
.rs .p-contact-list__ico span{font-size:18px!important;line-height:1}
.rs .brand-faq{padding:8px 0}
.rs .brand-faq>button{padding:16px 0;gap:12px}
.rs .brand-faq>button span{flex:0 0 32px}
.rs .brand-faq-answer{padding:0 0 20px 44px;line-height:1.9}
.rs .p-feature-lead__body{padding-inline:0;max-width:800px;margin-inline:auto}
.rs .p-feature-point-item+.p-feature-point-item{margin-top:64px}
.rs .p-feature-point-item__pictures{gap:24px}
.rs .p-top-menu{margin-top:64px}
.rs .p-top-staff{margin-top:64px}
.rs .brand-detail-section{margin:40px 0}
.rs .brand-detail-section h2{margin-bottom:20px}
.rs .l-footer__wrap{padding-top:40px;padding-bottom:40px}
@media(min-width:1024px){
 .rs .p-top-feature-blockA{column-gap:48px}
 .rs .p-contact-list__pic{margin-top:0}
 .rs .p-price-list__wrap,.rs .p-service-detail .l-container,.rs .brand-faq-list{max-width:960px;margin-inline:auto}
}
@media(min-width:601px) and (max-width:1023px){.rs{--page-gutter:32px}.rs .l-header-logo{left:32px}.rs .l-header-menu{right:32px}}
@media(max-width:1023px){
 .rs .p-service-cards{padding:40px 0 56px;gap:24px}
 .rs .p-service-cards .c-cards-service__link{padding:20px}
 .rs .p-price-list,.rs .p-staff-list,.rs .p-contact-body,.rs .p-faq-body,.rs .p-service-detail{padding:40px 0 56px}
 .rs .p-contact-body__list{gap:40px}
 .rs .p-contact-list__pic{margin-top:20px}
 .rs .p-staff-list__title{font-size:24px}
 .rs .brand-about-grid{margin:24px 0 40px;gap:20px}
 .rs .brand-about-card{padding:20px}
 .rs .p-top-feature__head{padding-right:100px}
 .rs .p-top-feature__picture{right:0}
 .rs .p-top-feature__wrapB{gap:32px;margin-top:40px}
 .rs .p-top-menu,.rs .p-top-staff{margin-top:48px}
 .rs .brand-home-services{margin-top:48px;padding:40px 0}
 .rs .brand-section-heading{margin-bottom:24px}
 .rs .l-footer__wrap{padding:0}
 .rs .brand-footer-contact{padding:32px 0}
 .rs .brand-footer-contact__inner{gap:24px}
 .rs .l-header-menu{right:20px}
 .rs .l-aside-cta{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
}
@media(max-width:600px){
 .rs{--page-gutter:20px}
 .rs .p-top-feature__head{padding-right:0}
 .rs .p-price-section{padding:24px 0}
 .rs .p-price-section+.p-price-section{margin-top:16px}
 .rs .brand-quote-row{grid-template-columns:1fr;gap:20px}
 .rs .brand-quote-row img{height:200px}
 .rs .brand-copy-intro{margin-bottom:32px}
 .rs .brand-about-card img{height:180px}
 .rs .brand-about-card h3{margin:16px 0 8px}
 .rs .p-contact-list__pic img{height:200px}
 .rs .brand-detail-section{margin:32px 0}
 .rs .brand-faq>button{font-size:16px;line-height:1.7}
}
/* Align navigation with the same content rail, including tablet controls. */
@media(min-width:1024px){
 .rs .l-header-logo{left:max(var(--page-gutter),calc((100% - var(--content-max))/2))}
 .rs .l-header-nav{right:max(var(--page-gutter),calc((100% - var(--content-max))/2))}
}
@media(min-width:601px) and (max-width:1023px){.rs .l-header-menu{right:32px}}
/* Photo groups use one width/ratio rather than mixing full-width and narrow strips. */
.rs .p-feature-point-item__pictures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;max-width:640px;margin:24px auto 0}
.rs .p-feature-point-item__pictures>figure:only-child{grid-column:1/-1}
.rs .p-feature-point-item__pictures img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;object-position:center 30%;box-sizing:border-box}
@media(max-width:600px){.rs .p-feature-point-item__pictures{grid-template-columns:1fr;gap:20px}}
/* Intro copy and following rows share a left edge inside the reading container. */
.rs .p-price-list__wrap>.brand-copy-intro,.rs .p-staff-list__wrap>.brand-copy-intro,.rs .p-service-detail .brand-copy-intro{max-width:none;margin-left:0;margin-right:0}
.rs .p-staff-list__desc,.rs .p-staff-list .brand-copy-intro>p,.rs .p-service-detail .brand-copy-intro>p{max-width:800px}
.rs .p-service-cards .c-cards-service__link:is(:hover,:active){transform:none}
.rs .p-service-cards .c-cards-service__link:hover .c-cards-service__title{color:var(--brand-primary)}
/* Service-specific sample content pages. */
.rs .cm-main-header .service-detail-eyebrow{font-size:18px;line-height:1.6;letter-spacing:.08em}
.rs .service-intro{margin-bottom:48px}
.rs .service-intro>.brand-eyebrow{margin-bottom:16px}
.rs .service-intro h2{font-size:24px;font-weight:500;line-height:1.8;color:var(--brand-ink);max-width:800px}
.rs .service-example-note{margin-top:24px;padding:16px 20px;border-left:3px solid var(--brand-primary);background:var(--brand-surface);font-size:14px;line-height:1.9;color:var(--brand-muted)}
.rs .service-section-heading{margin-bottom:24px}
.rs .service-section-heading .brand-eyebrow{margin-bottom:8px}
.rs .service-section-heading h2,.rs .service-preparation h2{font-size:26px;line-height:1.5;font-weight:600;color:var(--brand-ink)}
.rs .service-example-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rs .service-example-card{border:1px solid var(--brand-border);border-radius:20px;overflow:hidden;background:var(--brand-paper)}
.rs .service-example-card figure{aspect-ratio:4/3;background:var(--brand-surface);padding:20px;box-sizing:border-box}
.rs .service-example-card img{width:100%;height:100%;object-fit:contain}
.rs .service-example-card>div{padding:24px}
.rs .service-example-number{font-size:12px;color:var(--brand-primary);letter-spacing:.08em;margin-bottom:8px}
.rs .service-example-card h3{font-size:21px;line-height:1.6;font-weight:600;margin-bottom:12px;color:var(--brand-ink)}
.rs .service-example-card h3+p{font-size:16px;line-height:1.9;color:var(--brand-muted)}
.rs .service-preparation{margin-top:48px;padding-top:32px;border-top:1px solid var(--brand-border)}
.rs .service-preparation ul{list-style:disc;padding-left:22px;margin:20px 0}
.rs .service-preparation li{font-size:16px;line-height:1.9;padding:6px 0}
.rs .service-preparation>p{font-size:14px;line-height:1.9;color:var(--brand-muted)}
.rs .service-content-actions{display:flex;gap:24px;flex-wrap:wrap;margin-top:20px}
@media(max-width:600px){.rs .cm-main-header .service-detail-eyebrow{font-size:12px;letter-spacing:.04em}.rs .service-intro h2{font-size:20px}.rs .service-intro{margin-bottom:32px}.rs .service-example-grid{grid-template-columns:1fr;gap:20px}.rs .service-example-card>div{padding:20px}.rs .service-example-card h3{font-size:20px}.rs .service-preparation{margin-top:32px;padding-top:24px}.rs .service-section-heading h2,.rs .service-preparation h2{font-size:23px}}
.rs .p-service[data-service] .cm-main-header__ja{padding-left:0}
