.fade-up{opacity:1;transform:none}.fade-up.will-animate{opacity:0;transform:translateY(18px)}.fade-up.will-animate.is-visible{opacity:1;transform:none}
.hero{min-height:680px;display:block;position:relative;background:#fff}.hero-media{position:absolute;inset:0 0 0 38%;overflow:hidden}.hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,rgba(255,255,255,.72) 16%,rgba(255,255,255,0) 48%)}.hero-photo{width:100%;height:100%;object-fit:cover;object-position:center}.hero-inner{min-height:680px;display:flex;align-items:center;position:relative;z-index:2}.hero-copy{width:min(650px,58%);padding:70px 0}.hero h1{font-size:clamp(2.75rem,5vw,5rem);text-shadow:0 1px 15px rgba(255,255,255,.85)}.hero .lead{font-size:1.08rem;max-width:600px}.hero-scroll{position:absolute;right:18px;bottom:42px;z-index:3;color:var(--red);font:700 .68rem Arial;letter-spacing:.16em;writing-mode:vertical-rl}.hero-scroll:after{content:"";display:block;width:1px;height:54px;background:var(--red);margin:12px auto}.section-intro{max-width:760px;margin-bottom:40px}.section-heading-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading-row .section-title{margin-bottom:0}.photo-frame{overflow:hidden;border-radius:20px;background:var(--pink);aspect-ratio:16/10}.section-photo{width:100%;height:100%;object-fit:cover}.image-placeholder{display:grid;place-items:center;background:linear-gradient(135deg,#fff5f5,#f0eeee);color:rgba(215,25,32,.2)}.image-placeholder span{font:900 clamp(2.4rem,7vw,5rem) Arial;letter-spacing:.08em}.about-home .photo-frame{margin-top:34px}.service-card{padding-top:28px;border-top:3px solid var(--red)}.check-list{list-style:none;padding:0;margin:20px 0}.check-list li{position:relative;padding:4px 0 4px 25px;font-size:.9rem}.check-list li:before{content:"✓";position:absolute;left:0;color:var(--red);font-weight:900}.recruit-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.news-company-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:54px}.company-link-card{padding:42px;border-radius:20px;background:linear-gradient(145deg,#fff,#fff1f1);border:1px solid #f2dada}.empty-state{padding:35px;border:1px dashed #ccc;border-radius:12px}.empty-state p{font-weight:700;margin:0}.empty-state span{color:var(--muted);font-size:.9rem}.text-link{color:var(--red);font-weight:700}.service-detail-hero{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}.service-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.detail-card{padding:28px;border-radius:14px;background:#fff;border:1px solid var(--line)}.dual-cta{display:grid;grid-template-columns:1fr 1fr;gap:22px}.dual-cta>div{padding:36px;border-radius:16px;background:#fff}.page-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:32px}
@media(max-width:980px){.hero-media{inset:0 0 0 28%}.hero-copy{width:67%}.service-detail-grid{grid-template-columns:1fr 1fr}.news-company-grid{grid-template-columns:1fr}.recruit-panel,.service-detail-hero{gap:38px}}
@media(max-width:680px){.hero{min-height:650px;padding-bottom:0}.hero-media{inset:0}.hero-media:after{background:linear-gradient(180deg,rgba(255,255,255,.55),rgba(255,255,255,.96) 58%,#fff 100%)}.hero-inner{min-height:650px;align-items:flex-end}.hero-copy{width:100%;padding:260px 0 52px}.hero h1{font-size:clamp(2.35rem,11.7vw,3.35rem)}.hero .lead{font-size:.96rem}.hero-scroll{display:none}.section-heading-row{align-items:flex-start;flex-direction:column}.recruit-panel,.service-detail-hero,.news-company-grid{grid-template-columns:1fr}.recruit-panel .photo-frame{order:-1}.service-detail-grid,.dual-cta{grid-template-columns:1fr}.service-cards{grid-template-columns:1fr}.btn{min-height:50px}.hero-actions .btn{flex:1;padding-inline:16px}}
@media(max-width:360px){.container,.narrow{width:calc(100% - 28px)}.hero-actions{flex-direction:column}.hero-actions .btn{width:100%}.footer-links{grid-template-columns:1fr}.card{padding:26px}.section-title{font-size:1.9rem}}
@media(prefers-reduced-motion:reduce){.fade-up,.fade-up.will-animate{opacity:1!important;transform:none!important}}
