@import url("https://fonts.googleapis.com/css2?family=Hina+Mincho&family=Zen+Old+Mincho&display=swap");
/* Shared by the service site and React pages; retain the original noren artwork. */
.zcw-noren-shell{--paper:#F1E7D5;--ink:#302f2b;--red:#8f3d31;--brand-logo-width:230px;display:flow-root;background:transparent;color:var(--ink);font:16px/1.95 'Zen Old Mincho','Yu Mincho',serif}
.zcw-noren-shell *{box-sizing:border-box}
.zcw-noren-shell a{color:inherit;text-decoration:none}
.zcw-noren-shell a:focus-visible{outline:2px solid var(--red);outline-offset:5px}
.zcw-noren-shell .noren-footer{display:block;position:relative;isolation:isolate;background:none;margin:90px 0 0;padding:68px 6% 90px;min-height:600px;border:0}
.zcw-noren-shell .noren-footer::before{content:'';position:absolute;inset:0;z-index:-1;background:#fff url('/business-static-v1/assets/noren-paper-v170.svg') repeat;background-size:280px 280px;mask:url('/business-static-v1/assets/footer-noren.svg?v=149') center/100% 100% no-repeat;-webkit-mask:url('/business-static-v1/assets/footer-noren.svg?v=149') center/100% 100% no-repeat}
.zcw-noren-shell .noren-footer::after{content:'';position:absolute;pointer-events:none;z-index:-1;inset:-12px 0 auto;height:26px;background:url('/business-static-v1/assets/noren-rail-v171.svg') center/100% 100% no-repeat}
.zcw-noren-shell .noren-footer>.noren-bottom{position:relative;inset:auto;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start;gap:0;width:100%;max-width:none;margin:0}
.zcw-noren-shell .noren-brand{grid-column:1;grid-row:1}
.zcw-noren-shell .brand{display:block}
.zcw-noren-shell .brand-logo{display:block;width:230px;height:auto;max-width:100%}
.zcw-noren-shell .business-footer-links{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin:20px 0 0;font-size:13px;line-height:1.6}
.zcw-noren-shell .business-footer-links a{display:inline-flex;align-items:center;min-height:44px;letter-spacing:.06em;font-weight:400}
.zcw-noren-shell .noren-information{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin-top:22px}
.zcw-noren-shell .noren-information a{min-height:36px;font-size:12px;letter-spacing:.03em}
.zcw-noren-shell .information-social{display:flex;flex-wrap:wrap;gap:16px;margin-top:12px}
.zcw-noren-shell .noren-service-links{display:flex;grid-column:2;grid-row:1;flex-direction:row-reverse;justify-content:center;align-items:flex-start;gap:34px;width:max-content;margin:0;padding:0}
.zcw-noren-shell .noren-service-links a{writing-mode:vertical-rl;text-orientation:mixed;font-family:'Zen Old Mincho','Yu Mincho',serif;font-size:17px;line-height:1.5;letter-spacing:.12em;white-space:nowrap}
.zcw-noren-shell .noren-service-links .noren-contact-link{display:none}
.zcw-noren-shell .noren-contact-actions{display:flex;flex-direction:column;grid-column:3;grid-row:1;justify-self:end;gap:20px;width:min(320px,calc(100% - 24px));margin:0}
.zcw-noren-shell .noren-contact-actions a{position:relative;isolation:isolate;display:flex;align-items:center;justify-content:space-between;width:100%;min-height:72px;padding:18px 22px;gap:12px;border:0;background:transparent;font:600 clamp(14px,1.4vw,18px)/1.5 'Hina Mincho','Yu Mincho',serif;white-space:nowrap}
.zcw-noren-shell .brief-consult-cta::before{content:'';position:absolute;inset:0;z-index:-1;background:currentColor;clip-path:polygon(0 0,100% 0,100% 100%,0 100%,0 0,6px 6px,6px calc(100% - 11px),11px calc(100% - 6px),calc(100% - 11px) calc(100% - 6px),calc(100% - 6px) calc(100% - 11px),calc(100% - 6px) 11px,calc(100% - 11px) 6px,6px 6px)}
.zcw-noren-shell .brief-consult-cta::after{content:'';position:absolute;inset:0;z-index:-1;background:#252522;opacity:0;transition:opacity .3s}
.zcw-noren-shell .brief-consult-cta>span[aria-hidden]{font-size:0;flex:none;width:8px;height:8px;border-radius:50%;background:currentColor}
.zcw-noren-shell .brief-consult-cta:hover,.zcw-noren-shell .brief-consult-cta:focus-visible{color:white}
.zcw-noren-shell .brief-consult-cta:hover::after,.zcw-noren-shell .brief-consult-cta:focus-visible::after{opacity:1}
.zcw-noren-shell .footer-base-links{display:none}
@media(min-width:768px) and (max-width:1100px){.zcw-noren-shell .brand-logo{width:180px}.zcw-noren-shell .noren-service-links{gap:24px}}
@media(max-width:767px){
 .zcw-noren-shell .noren-footer{margin-top:50px;min-height:610px;padding:28px 6% 80px}
 .zcw-noren-shell .noren-footer::before{mask-image:url('/business-static-v1/assets/footer-noren-sp.svg?v=149');-webkit-mask-image:url('/business-static-v1/assets/footer-noren-sp.svg?v=149')}
 .zcw-noren-shell .noren-footer::after{top:-10px;height:20px;background-image:url('/business-static-v1/assets/noren-rail-sp-v171.svg')}
 .zcw-noren-shell .noren-footer>.noren-bottom{display:flex;flex-direction:column;gap:40px}
 .zcw-noren-shell .noren-brand{display:block;width:100%}
 .zcw-noren-shell .brand-logo{width:128px}
 .zcw-noren-shell .business-footer-links,.zcw-noren-shell .noren-contact-actions{display:none}
 .zcw-noren-shell .noren-service-links{display:flex;justify-content:center;gap:27px;width:100%;padding:0}
 .zcw-noren-shell .noren-service-links .noren-contact-link{display:block}
 .zcw-noren-shell .noren-link-arrow{display:inline-block;writing-mode:horizontal-tb;margin-top:16px;font-size:22px;line-height:1}
 .zcw-noren-shell .footer-base-links{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:24px;padding:24px 6% 40px;border:0;font-size:13px;line-height:1.6}
 .zcw-noren-shell .footer-base-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;letter-spacing:.08em}
}
.workshop-menu-information{display:flex;flex-direction:column;gap:12px}
.workshop-menu-information p{font-size:11px;letter-spacing:.12em}
.workshop-menu-information .information-social{display:flex;flex-wrap:wrap;gap:16px}
.zcw-noren-shell .noren-number{text-orientation:upright}
@media(min-width:768px){
 .zcw-noren-shell .business-footer-links{gap:0}
 .zcw-noren-shell .business-footer-links>a{font-size:17px;line-height:1.5;min-height:32px}
}

/* Follow the surrounding page surface; only the cloth paints its own texture. */
#main-content.zcw-base-gray-surface ~ [data-zcw-site-footer],
#main-content:has(.zcw-brand-home) ~ [data-zcw-site-footer]{background:var(--zcw-base-paper, #eeeeee)}

/* Hide the mobile mark while preserving the existing service-link positions. */
@media(max-width:767px){.zcw-noren-shell .noren-brand-identity{visibility:hidden}}
