:root{--motion-duration-fast: .12s;--motion-duration-normal: .24s;--motion-duration-slow: .4s;--motion-ease: cubic-bezier(.4, 0, .2, 1);--brand-primary: #0b6b3a;--brand-accent: #d6c8b3;--text-color: var(--brand-primary);--bg-color: #ffffff;--container-max-width: 1200px;--company-name: "中村建材・中村建設";--brand-secondary: #8aa68b;--brand-muted: #f5f7f6;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 48px;--type-base: 16px;--type-scale-ratio: 1.125;--font-serif: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", "Times New Roman", serif;--radius-sm: 6px;--radius-md: 8px;--container-padding: 16px}*{box-sizing:border-box}html,body{height:100%;margin:0;font-family:var(--font-serif);color:var(--text-color);background:var(--bg-color)}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--container-padding)}.site-header{background:#fff;border-bottom:1px solid #eee;padding:12px 0;position:sticky;top:0;z-index:50}.site-nav{float:right}.site-nav a{margin-left:16px;color:var(--text-color);text-decoration:none}.hero{padding:64px 0;background:linear-gradient(180deg,rgba(11,107,58,.04),transparent)}.btn{display:inline-block;padding:10px 16px;border-radius:6px;text-decoration:none}.btn-primary{background:var(--brand-primary);color:#fff;transition:transform var(--motion-duration-normal) var(--motion-ease)}.site-card{padding:1.25rem;background:var(--card-bg, #fbfbf9);border-radius:12px;box-shadow:0 8px 20px #0000000f;border:1px solid rgba(11,107,58,.04);overflow:hidden;box-sizing:border-box}.site-card .card-inner{display:flex;width:100%;align-items:stretch;gap:var(--space-md);position:relative;box-sizing:border-box;min-height:0;height:100%}.site-card .card-text{flex:0 0 50%;max-width:50%;padding-left:1.5rem;text-align:left;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-start;box-sizing:border-box}.site-card .card-media{flex:0 0 50%;max-width:50%;display:flex;align-items:center;justify-content:center;min-height:140px;overflow:hidden;margin-left:0;position:relative;z-index:1;box-sizing:border-box}.site-card .card-media img{width:100%;height:100%;object-fit:cover;display:block;border-radius:12px}.site-card .card-title{display:flex;align-items:baseline;gap:.5rem;margin:0 0 1rem}.site-card .card-title-en{font-size:1.4rem;font-weight:700;line-height:1}.site-card .card-title-ja{font-size:.9rem;font-weight:500;color:var(--brand-primary)}.site-card .card-summary{margin:0 0 1rem;color:var(--text-color);font-size:1.25rem;font-weight:600}.site-card .card-body{margin:0 0 1.25rem;font-size:.95rem;color:var(--text-color);opacity:.95;line-height:1.6}.site-card .btn{border-radius:4px;padding:12px 18px;text-decoration:none;display:inline-block}.site-card .card-media img{-webkit-mask-image:linear-gradient(to right,transparent 0%,black 20%,black 100%);mask-image:linear-gradient(to right,transparent 0%,black 20%,black 100%)}@media (max-width:767px){.site-card .card-inner{flex-direction:column}.site-card .card-text{width:100%;padding-left:0;text-align:center;z-index:2}.site-card .card-media{width:100%;min-height:200px;margin-left:0}.site-card .card-media img{-webkit-mask-image:none;mask-image:none}}.site-card .card-body .hours,.site-card .card-body .closed{display:flex;align-items:center;gap:.5rem;margin:0 0 .5rem;color:var(--text-color)}.site-card .card-body .icon{display:inline-flex;width:1.25rem;height:1.25rem;align-items:center;justify-content:center;color:var(--brand-primary)}.site-card .card-body .icon-svg{width:1.25rem;height:1.25rem;display:block}.recruit-card .card-media img,.news-card .card-media img{width:100%;height:100%;object-fit:cover}.recruit-card .card-inner,.news-card .card-inner{align-items:stretch}.recruit-card,.news-card{padding-top:0;padding-bottom:0;padding-left:1.25rem;padding-right:1.25rem}.recruit-card .card-text,.news-card .card-text{padding-top:1.25rem;padding-bottom:1.25rem}.recruit-card .card-inner,.news-card .card-inner{min-height:220px}.about-card{padding-top:0;padding-bottom:0;padding-left:1.25rem;padding-right:1.25rem}.about-card .card-text{padding-top:1.25rem;padding-bottom:1.25rem}.about-card .card-media{align-items:stretch;min-height:0;position:relative;overflow:hidden}.about-card .card-media img{-webkit-mask-image:none;mask-image:none}@media (min-width: 768px){.about-card .card-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:0 12px 12px 0;display:block}}@media (prefers-reduced-motion: reduce){.site-card .card-inner,.site-card .card-media,.site-card .card-text{transition:none!important}}@media (min-width: 768px){.recruit-card,.news-card,.about-card{position:relative;border:none;box-shadow:0 8px 20px #0000000f;padding-left:1.25rem;padding-right:0!important}.recruit-card .card-inner,.news-card .card-inner,.about-card .card-inner{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md);align-items:stretch;width:100%;height:100%}.recruit-card .card-text,.news-card .card-text,.about-card .card-text{margin:0;max-width:none;padding-top:1.25rem;padding-bottom:1.25rem;min-width:0}.recruit-card .card-media,.news-card .card-media,.about-card .card-media{min-width:0}.recruit-card .card-media,.news-card .card-media,.about-card .card-media{position:relative;width:100%;margin-left:0;min-height:0;overflow:hidden;border-top-right-radius:12px;border-bottom-right-radius:12px;max-width:none;flex:none}.recruit-card .card-media img,.news-card .card-media img,.about-card .card-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;border-radius:0 12px 12px 0;display:block}.recruit-news .news-card.site-card{border:none!important;box-shadow:0 8px 20px #0000000f}}.site-header{position:sticky;top:0;z-index:50;background:#fff;transition:all .2s var(--motion-ease)}.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}.header-left{display:flex;align-items:center;gap:12px}.site-logo__img{height:36px}.site-company{font-weight:700;color:var(--brand-primary);font-size:1rem}.nav-toggle{display:none;background:transparent;border:0;font-size:1.125rem}.site-nav{display:flex;gap:16px}.site-nav a{color:var(--text-color);text-decoration:none}.site-header.is-scrolled{box-shadow:0 6px 18px #1010100f;padding:6px 0}@media (max-width: 900px){.nav-toggle{display:block}.site-nav{display:none}.site-nav.is-open{display:flex;position:absolute;right:12px;top:56px;background:#fff;flex-direction:column;padding:12px;box-shadow:0 6px 18px #0000000f;border-radius:8px}}.hero{position:relative;padding:6rem 0;background-color:var(--brand-muted);color:var(--text-color);overflow:hidden}.hero-media{position:absolute;top:0;left:50%;transform:translate(-50%);width:100%;height:100%;z-index:0;pointer-events:none;display:flex;justify-content:center;align-items:center}.hero-media picture{width:100%;max-width:var(--container-max-width);display:block;height:504px}.hero-media img{width:100%;height:100%;display:block;object-fit:cover}.hero-image{transform:translateZ(0);will-change:transform}.hero{min-height:504px}.hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#fff3,#fff9 60%);pointer-events:none;z-index:1}.hero .container{position:relative;z-index:2}.hero .lead{max-width:60ch;margin-top:.5rem}.hero-actions{margin-top:1rem;display:flex;gap:.5rem}.hero .hero-content{padding-left:var(--space-lg)}@media (min-width: 900px){.hero .hero-content{padding-left:var(--space-xl)}}.hero .hero-content>*{opacity:0;transform:translate(-24px);transition:transform 5s var(--motion-ease),opacity 5s ease;will-change:transform,opacity}.hero.is-revealed .hero-content>*{opacity:1;transform:none}.hero.is-revealed .hero-content>*:nth-child(1){transition-delay:.12s}.hero.is-revealed .hero-content>*:nth-child(2){transition-delay:.32s}.hero.is-revealed .hero-content>*:nth-child(3){transition-delay:.52s}@media (prefers-reduced-motion: reduce){.hero .hero-content>*{transition:none!important;transform:none!important;opacity:1!important}}.services,.cases{padding:2rem 0}.cases-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem}.case-card{background:#fff;border-radius:8px;padding:1rem;box-shadow:0 6px 16px #1010100a}.case-card img{width:100%;height:140px;object-fit:cover;border-radius:6px}.cta{margin:2rem 0;padding:1.25rem;border-radius:8px;background:#f3f7ff;text-align:center}@media (prefers-reduced-motion: reduce){.hero,.services,.cases,.cta{transition:none!important}}.about-card{padding-top:0;padding-bottom:0;padding-left:1.25rem;padding-right:0}.about-card .card-media{min-height:156px;overflow:hidden;position:relative}.about-card .card-media img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0 12px 12px 0}.about-card .card-title-ja{font-size:.85rem}@media (max-width: 767px){.about-card{padding:1.25rem 0}.about-card .card-media{min-height:132px}.about-card .card-text{text-align:center}}@media (prefers-reduced-motion: reduce){.about-card{transition:none!important}}.product-carousel{position:relative;padding:1rem 0}.carousel-viewport{overflow:hidden}.carousel-track{display:flex;gap:var(--space-md);transition:transform .32s var(--motion-ease);will-change:transform}.carousel-slide{flex:0 0 40%;max-width:40%;box-sizing:border-box}.product-card{background:var(--card-bg, #fbfbf9);border-radius:8px;box-shadow:0 6px 16px #1010100d;overflow:hidden;height:100%;display:block}.product-card .card-inner{display:flex;min-height:160px;height:100%}.product-card .card-media{flex:0 0 50%;position:relative;padding:8px;box-sizing:border-box}.product-card .card-media img{width:100%;height:100%;display:block;object-fit:cover;border-radius:6px}.product-card .card-info{flex:1 1 50%;padding:var(--space-md);display:flex;flex-direction:column}.product-card .product-name{margin:0 0 .5rem;font-size:1rem;font-weight:600}.product-card .product-summary{margin:0 0 .75rem;color:#000000b8;font-size:.95rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-overflow:ellipsis}.product-card .product-link{margin-top:auto;color:var(--brand-primary);text-decoration:none;font-weight:700}.carousel-prev,.carousel-next{position:absolute;top:50%;transform:translateY(-50%);background:#0009;color:#fff;border:0;padding:.5rem .75rem;border-radius:4px;cursor:pointer}.carousel-prev{left:.5rem}.carousel-next{right:.5rem}@media (max-width:900px){.carousel-slide{flex:0 0 60%;max-width:60%}.product-card .card-inner{min-height:180px}}@media (prefers-reduced-motion: reduce){.carousel-track{transition:none!important}}.product-header{display:flex;align-items:baseline;gap:var(--space-md);flex-wrap:wrap;margin:1.25rem 0;line-height:1}.product-header .product-title-en{font-size:clamp(1rem,3vw,1.6rem);font-weight:700;color:var(--brand-primary);letter-spacing:-.02em}.product-header .product-title-ja{font-size:.9rem;color:var(--brand-secondary);margin-left:.25rem;align-self:flex-end}.product-header .product-desc{font-size:.9rem;color:#000000b3;margin-left:.5rem;max-width:60ch}@media (max-width:720px){.product-header{gap:var(--space-sm)}.product-header .product-title-en{font-size:1.05rem}.product-header .product-desc{width:100%;margin-left:0}}.recruit-news{margin:2rem 0;width:100%}.recruit-news,.recruit-news>.container{display:flex;gap:var(--space-md);align-items:stretch;justify-content:space-between;width:100%}.recruit-news>.container{padding-right:0!important}.recruit-news .recruit-card.site-card,.recruit-news .news-card.site-card{padding-right:0!important}.recruit-news .recruit-card .card-inner .card-media,.recruit-news .news-card .card-inner .card-media{width:100%!important;min-width:0!important;max-width:none!important;justify-self:stretch!important;align-self:stretch!important;box-sizing:border-box!important}.recruit-news .recruit-card,.recruit-news .news-card{flex:1 1 calc(50% - (var(--space-md) / 2));width:calc(50% - (var(--space-md) / 2));min-width:0}@media (max-width:767px){.recruit-news{flex-direction:column}.recruit-news .recruit-card,.recruit-news .news-card{flex:1;max-width:100%;width:100%}}@media (prefers-reduced-motion: reduce){.recruit-news{transition:none}}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.25rem;align-items:stretch}.service-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #1010100a;display:flex;flex-direction:column}.service-card-link{color:inherit;text-decoration:none;display:flex;flex-direction:column;height:100%}.service-card-media{width:100%;height:160px;overflow:hidden;background:#f6f6f8;display:flex;align-items:center;justify-content:center}.service-card-image{width:100%;height:100%;object-fit:cover;display:block}.service-card-body{padding:1rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.service-card-title{margin:0;font-size:1.05rem}.service-card-summary{margin:0;color:#555;font-size:.95rem}@media (prefers-reduced-motion: reduce){.service-card{transition:none!important}}.site-footer{padding:40px 0;background-image:url(/assets/footer-dummy.svg);background-size:cover;background-position:center;background-repeat:no-repeat;color:#fff;font-size:.95rem;min-height:180px}.footer-inner{display:flex;gap:var(--space-md);align-items:stretch;justify-content:space-between}.footer-left{display:flex;flex-direction:column;justify-content:space-between;width:30%;box-sizing:border-box}.footer-brand{display:flex;align-items:center;gap:12px}.footer-logo{width:48px;height:48px;object-fit:contain;display:block}.footer-company{font-weight:700;font-size:1.1rem}.footer-address{font-style:normal;color:#ffffffe6}.footer-links{width:50%;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 8px;align-items:start}.links-col{display:flex;flex-direction:column;gap:8px}.footer-cta{width:20%;display:flex;align-items:center;justify-content:flex-end}.btn-large{padding:14px 24px;font-size:1rem}.site-footer a{color:#fff;text-decoration:none}.footer-cta .btn{border:1px solid rgba(255,255,255,.95)}.footer-cta .btn.btn-primary{background:var(--brand-primary);color:#fff}.footer-cta .btn:hover{opacity:.95}@media (max-width: 700px){.footer-inner{flex-direction:column;gap:12px}.footer-left,.footer-links,.footer-cta{width:100%}.footer-cta{justify-content:flex-start}.footer-brand{gap:8px}.footer-logo{width:40px;height:40px}}.motion-reveal{opacity:0;transform:translateY(12px);transition:opacity var(--motion-duration-normal) var(--motion-ease),transform var(--motion-duration-normal) var(--motion-ease);will-change:opacity,transform}.motion-reveal.is-revealed{opacity:1;transform:none}.motion-card-lift{transition:transform var(--motion-duration-normal) var(--motion-ease),box-shadow var(--motion-duration-normal) var(--motion-ease)}.motion-card-lift:hover,.motion-card-lift:focus{transform:translateY(-6px) scale(1.02);box-shadow:0 8px 24px #13131314}.motion-cta{transition:transform var(--motion-duration-fast) var(--motion-ease)}@media (prefers-reduced-motion: reduce){.motion-reveal,.motion-card-lift,.motion-cta{transition:none!important;animation:none!important;transform:none!important}}.motion-reveal.motion-slide{transform:translate(-28px);transition:opacity 3s var(--motion-ease),transform 3s var(--motion-ease);will-change:opacity,transform}.motion-reveal.motion-slide.is-revealed{transform:none}*:focus{outline:3px solid rgba(11,107,58,.18);outline-offset:2px}.visually-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap;border:0;padding:0;margin:-1px}
