/* Approved corporate TOP: green palette. */
body[data-page="top"][data-theme="green"]{--brand:#00634d;--brand-action:#007157;--brand-deep:#003722;--brand-hover:#004a3b;--paper:#f0eee6;--heading:#00634d;--ink:#222;--purple:#00634d;--lavender:#8ba17e;--home-border:#ced8d1;--line:#ced8d1;--muted:#5b6962;--color-accent:#00634d;--color-text:#222}
body[data-theme="green"] .home-hero{background:var(--brand);color:#fff}
body[data-theme="green"] .home-hero::before{background:linear-gradient(90deg,#00634df0 0%,#00634dd1 22%,#00634d8c 42%,#0037222e 65%,#0037220a 85%,#00372200 100%)}
body[data-theme="green"] .hero-ribbons{fill:#97b9a62b}
body[data-theme="green"] .hero-ribbons path+path{fill:#c9dbcf14}
body[data-theme="green"] .home-hero h1,body[data-theme="green"] .home-hero .chapter{color:#fff}
body[data-theme="green"] .home-hero .chapter::after{background:#ffffff80}
body[data-theme="green"] .chapter::after,body[data-theme="green"] .section-intro .chapter::before{background:#719c87}
body[data-theme="green"] .button,body[data-theme="green"] .company-concept .company-button{background:var(--brand-action);color:#fff;box-shadow:0 4px 10px #00372210}
body[data-theme="green"] .button-secondary{background:#fff;color:var(--brand);border-color:#719c87}
body[data-theme="green"] .button:is(:hover,:focus-visible),body[data-theme="green"] .company-concept .company-button:is(:hover,:focus-visible){background:var(--brand-hover);color:#fff;filter:none}
body[data-theme="green"] .button:not(.button-secondary):is(:hover,:focus-visible),body[data-theme="green"] .company-concept .company-button:is(:hover,:focus-visible){background:#fff;color:var(--brand);box-shadow:inset 0 0 0 1px var(--brand)}
body[data-theme="green"] .hero-actions .button:not(.button-secondary){border:1px solid #ffffff70}
body[data-theme="green"] .service-card{background:var(--brand-deep);box-shadow:0 5px 14px #0037220d}
body[data-theme="green"] .service-card::before{background:#003722;opacity:.84;transition:opacity .25s}
body[data-theme="green"] .service-card::after{background:linear-gradient(0deg,#00372280,#00372200)}
body[data-theme="green"] .service-card h3{color:#fff;text-shadow:none}
body[data-theme="green"] .service-card-body{color:#fff}
body[data-theme="green"] .card-arrow{background:#fff;color:var(--brand)}
body[data-theme="green"] .service-card:is(:hover,:focus-visible)::before{opacity:.7}
body[data-theme="green"] .service-card:hover{box-shadow:0 10px 25px #00372226}
body[data-theme="green"] .home-company.company-concept{background:#f7f8f3;color:#222}
body[data-theme="green"] .company-concept::before{background:linear-gradient(90deg,#f7f8f3 0%,#f7f8f3 30%,#f7f8f3f5 40%,#f7f8f3d9 49%,#f7f8f378 58%,#f7f8f300 70%)}
body[data-theme="green"] .company-concept h2,body[data-theme="green"] .company-concept .company-kicker{color:var(--brand)}
body[data-theme="green"] .company-concept h2 em{color:var(--brand-action)}
body[data-theme="green"] .company-kicker::before{background:#91b39e}
body[data-theme="green"] .company-accent-rule{background:linear-gradient(90deg,#00634d,#a6c5b0)}
body[data-theme="green"] .shared-contact{background:color-mix(in srgb,#d5e2d2 75%,#719c87 25%);color:var(--brand-deep);border-top:0}
body[data-theme="green"] .shared-contact::before,body[data-theme="green"] .shared-contact-waves{display:none}
body[data-theme="green"] .shared-contact-heading{border-color:#9cb6a7}
body[data-theme="green"] .shared-contact-heading>p,body[data-theme="green"] .shared-contact .shared-contact-heading h2{color:var(--brand)}
body[data-theme="green"] .shared-contact-heading>p::before{background:#719c87}
body[data-theme="green"] .shared-contact-waves path:nth-child(1){fill:#a6c5b0}
body[data-theme="green"] .shared-contact-waves path:nth-child(2){fill:#719c87}
body[data-theme="green"] .shared-contact-button{color:var(--brand);border-color:#a6c5b0;box-shadow:0 5px 16px #00372212}
body[data-theme="green"] .shared-contact-button:is(:hover,:focus-visible){background:var(--brand-hover);color:#fff;border-color:var(--brand-hover)}
body[data-theme="green"] .shared-services,body[data-theme="green"] .shared-service-card{background:var(--brand-deep)}
body[data-theme="green"] .shared-service-mask{background:var(--brand-deep);opacity:.84}
body[data-theme="green"] .shared-service-card:is(:hover,:focus-visible) .shared-service-mask{background:var(--brand-deep);opacity:.7}
body[data-theme="green"] .shared-service-arrow{background:#fff;color:var(--brand)}
body[data-theme="green"] .corporate-footer{background:var(--brand);border-color:#ffffff30;color:#fff}
body[data-theme="green"] .corporate-footer-logo,body[data-theme="green"] .corporate-footer-brand address,body[data-theme="green"] .corporate-footer .corporate-footer-group h2,body[data-theme="green"] .corporate-footer-bottom{color:#fff}
body[data-theme="green"] .corporate-footer-logo svg{stroke:#fff}
body[data-theme="green"] .corporate-footer .corporate-footer-group h2,body[data-theme="green"] .corporate-footer-bottom{border-color:#ffffff40}
body[data-theme="green"] .corporate-footer a:hover{color:#d5e5db}
@media(min-width:769px) and (max-width:1100px){body[data-theme="green"] .company-concept::before{background:linear-gradient(90deg,#f7f8f3 0%,#f7f8f3f5 37%,#f7f8f3da 49%,#f7f8f388 62%,#f7f8f300 78%)}}
@media(max-width:768px){body[data-theme="green"] .home-hero::before{background:linear-gradient(180deg,#00634d 0%,#00634d 35%,#00634ded 45%,#00634d80 55%,#00372206 77%,#00372200 100%)}body[data-theme="green"] .company-concept .company-visual::before{background:linear-gradient(#f7f8f3,#f7f8f300)}}
@media(prefers-reduced-motion:reduce){body[data-theme="green"] .service-card::before{transition:none}}

/* Taller hero; the label uses the same chapter style as ABOUT US. */
body[data-theme="green"] .hero-photo{object-position:65% center}
body[data-theme="green"] .home-hero{min-height:clamp(520px,41vw,620px);display:grid;align-items:center}
body[data-theme="green"] .hero-inner{padding-block:65px}
@media(max-width:768px){body[data-theme="green"] .home-hero{min-height:660px}body[data-theme="green"] .hero-photo{height:240px;object-position:80% center}body[data-theme="green"] .hero-inner{padding-block:45px 280px}}

/* Fractional section heights must not expose a hairline below the SVG wave. */
body[data-theme="green"] .home-company + .shared-contact{margin-top:-2px}
/* Photo < shared fixed waves < existing green gradient < copy. */
body.has-fixed-waves[data-theme="green"] .home-hero{isolation:auto;background:transparent}
body.has-fixed-waves[data-theme="green"] .home-hero::before{z-index:-1}
body.has-fixed-waves[data-theme="green"] .home-hero::after{content:"";position:absolute;inset:0;z-index:-4;background:var(--brand);pointer-events:none}

/* Fade in the hero photo in place. */
@keyframes hero-photo-reveal{from{opacity:0}to{opacity:1}}
body[data-theme="green"] .home-hero .hero-photo{animation:hero-photo-reveal 1.2s ease-out both}
@media(prefers-reduced-motion:reduce){body[data-theme="green"] .home-hero .hero-photo{animation:none}}
/* Reveal content, keeping the fixed background and section imagery in place. */
body[data-page="top"] .scroll-reveal{opacity:0;transition:opacity .8s ease-out}
body[data-page="top"] .scroll-reveal.is-revealed,body[data-page="top"] .scroll-reveal:focus-within{opacity:1}
@media(prefers-reduced-motion:reduce){body[data-page="top"] .scroll-reveal{opacity:1;transition:none}}
/* Stagger the four service cards as they enter view. */
body[data-page="top"] :is(.service-card,.shared-service-card).scroll-reveal:nth-child(2){transition-delay:.16s}
body[data-page="top"] :is(.service-card,.shared-service-card).scroll-reveal:nth-child(3){transition-delay:.32s}
body[data-page="top"] :is(.service-card,.shared-service-card).scroll-reveal:nth-child(4){transition-delay:.48s}
@media(prefers-reduced-motion:reduce){body[data-page="top"] :is(.service-card,.shared-service-card).scroll-reveal{transition-delay:0s}}/* スマートフォンのFVは写真を全面背景にし、文字とCTAを重ねる */
@media(max-width:768px){
 body[data-theme="green"] .home-hero{min-height:0;align-items:start}
 body[data-theme="green"] .home-hero .hero-photo{inset:0;width:100%;height:100%;object-position:57% center;transform:scale(1.08);transform-origin:center top}
 body[data-theme="green"] .home-hero::before{background:linear-gradient(to top right,rgba(0,55,40,.90) 0%,rgba(0,75,54,.52) 48%,rgba(0,55,40,.03) 100%)}
 body[data-theme="green"] .hero-inner{padding-block:44px 48px}
 body[data-page="top"][data-theme="green"] .site-background-waves{transform:translateY(-16vh)}
 body[data-theme="green"] .hero-copy{padding:0;max-width:520px}
 body[data-theme="green"] .home-hero h1{margin-bottom:0;text-shadow:0 2px 8px #00372270}
 body[data-theme="green"] .hero-lead{margin-top:clamp(104px,32vw,184px);margin-bottom:26px;text-shadow:0 1px 5px #003722a0}
 body[data-theme="green"] .hero-actions{display:flex;gap:10px}
}
