
:root{--green:#18a77b;--blue:#2c9bd8;--deep:#10384f;--ink:#123;--muted:#5f7377;--pale:#effaf7;--sky:#eef8ff;--line:#d9ebe8;--white:#fff;--radius:28px;--shadow:0 22px 60px rgba(29,95,106,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",system-ui,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff,#f7fcfb);line-height:1.85;letter-spacing:.03em;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:9999;background:#fff;padding:10px;border-radius:10px}#progress{position:fixed;left:0;top:0;height:4px;background:linear-gradient(90deg,var(--green),var(--blue));width:0;z-index:99999}#loader{position:fixed;inset:0;background:#fff;z-index:99998;display:grid;place-content:center;text-align:center;gap:16px;transition:.65s}.loader-orb{width:86px;height:86px;border-radius:30px;background:linear-gradient(135deg,var(--green),var(--blue));display:grid;place-items:center;color:#fff;font-weight:900;font-size:32px;box-shadow:var(--shadow);animation:pulse 1.4s infinite}#loader.hide{opacity:0;visibility:hidden}.header{position:fixed;inset:16px 24px auto;z-index:8000;display:flex;align-items:center;gap:22px;padding:14px 16px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.75);border-radius:999px;box-shadow:0 12px 44px rgba(20,90,100,.12)}.logo{display:flex;align-items:center;gap:10px;min-width:max-content}.logo span{width:42px;height:42px;border-radius:16px;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;display:grid;place-items:center;font-weight:900}.logo b{font-size:18px}.logo small{color:var(--muted)}#nav{display:flex;gap:14px;margin-left:auto}.nav-link{padding:8px 10px;border-radius:999px}.nav-link span{font-size:12px;font-weight:900;color:var(--deep)}.nav-link small{display:block;font-size:9px;color:var(--muted);text-align:center}.nav-link.is-active,.nav-link:hover{background:var(--pale)}.tel,.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 23px;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;font-weight:900;box-shadow:0 12px 34px rgba(32,151,160,.22);position:relative;overflow:hidden;transition:.25s}.btn.ghost{background:rgba(255,255,255,.2);border:1px solid rgba(255,255,255,.6)}.btn:hover,.tel:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(32,151,160,.30)}.menu{display:none}.video-hero{min-height:840px;position:relative;display:grid;align-items:center;padding:150px 7vw 90px;overflow:hidden;border-bottom-left-radius:52px;border-bottom-right-radius:52px}.video-hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#dff4ef}.video-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(13,62,69,.72),rgba(24,167,123,.28),rgba(255,255,255,.16))}.hero-layer{position:absolute;inset:120px 7vw 90px 48vw;border-radius:42px;background:rgba(255,255,255,.22);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.45);z-index:1}.hero-copy{position:relative;z-index:2;color:#fff;max-width:760px}.eyebrow,.section-title span,.two-col span,.staff span,.band-card span{font-weight:900;letter-spacing:.18em;color:#44e2c1}.hero h1{font-size:clamp(42px,6vw,86px);line-height:1.08;margin:12px 0 22px;letter-spacing:.02em}.hero p{font-size:18px;max-width:680px}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.news-strip{margin:-38px auto 70px;width:min(1080px,88vw);position:relative;z-index:4;background:#fff;border-radius:24px;padding:22px 28px;box-shadow:var(--shadow);display:flex;gap:22px;align-items:center}.news-strip b{color:var(--green)}.section{width:min(1120px,88vw);margin:0 auto;padding:82px 0}.section-title{max-width:760px;margin-bottom:34px}.section-title h2,.two-col h2,.staff h2,.band-card h2{font-size:clamp(30px,4vw,54px);line-height:1.2;margin:8px 0 14px}.section-title p{color:var(--muted)}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.stats article,.service-card,.reason-grid article,.recruit-card,.form,.contact-info,details,.profile-table{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.stats article{padding:28px;text-align:center}.stats b{font-size:54px;color:var(--green);line-height:1}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.service-card{overflow:hidden;padding:14px 14px 26px;transition:.3s}.service-card img{width:100%;height:230px;object-fit:cover;border-radius:22px}.service-card span{display:inline-block;margin-top:18px;color:var(--blue);font-weight:900}.service-card h3{font-size:25px;margin:4px 0}.service-card p{padding-right:10px;color:var(--muted)}.hover-card:hover{transform:translateY(-8px) scale(1.01);box-shadow:0 30px 80px rgba(29,95,106,.22)}.marquee{overflow:hidden;background:linear-gradient(90deg,var(--green),var(--blue));color:#fff;padding:18px 0}.marquee-track{display:flex;width:max-content;gap:34px;animation:marquee 28s linear infinite}.marquee span{font-size:28px;font-weight:900;letter-spacing:.16em;white-space:nowrap}.parallax{background-image:linear-gradient(90deg,rgba(5,42,52,.74),rgba(24,167,123,.18)),var(--bg);background-attachment:fixed;background-size:cover;background-position:center;border-radius:50px;width:min(1180px,92vw);min-height:520px;margin:70px auto;display:grid;align-items:center;padding:60px}.band-card{max-width:530px;background:rgba(255,255,255,.92);border-radius:34px;padding:42px;box-shadow:var(--shadow)}.band-card span{color:var(--green)}.band-card li{margin:10px 0}.image-slider{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:14px}.image-slider button{width:52px;height:52px;border:0;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:30px;color:var(--green)}.slides{display:flex;gap:18px;overflow:auto;scroll-snap-type:x mandatory;padding:10px}.slides img{min-width:430px;height:300px;object-fit:cover;border-radius:30px;scroll-snap-align:center;box-shadow:var(--shadow)}.staff,.two-col,.contact{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}.staff-photo img{height:430px;width:100%;object-fit:cover;border-radius:38px;box-shadow:var(--shadow)}.faq details{padding:20px 24px;margin:14px 0}.faq summary{font-weight:900;cursor:pointer}.contact-cta{width:min(1080px,88vw);margin:40px auto 90px;padding:54px;border-radius:40px;background:linear-gradient(135deg,var(--green),var(--blue));color:#fff;text-align:center;box-shadow:var(--shadow);position:relative;overflow:hidden}.layer-effect:before{content:"";position:absolute;inset:auto -12% -35% auto;width:360px;height:360px;background:rgba(255,255,255,.22);border-radius:50%;filter:blur(4px)}.subhero{min-height:410px;margin:0 0 40px;padding:160px 7vw 70px;color:#fff;background-image:linear-gradient(90deg,rgba(16,56,79,.82),rgba(24,167,123,.35)),var(--bg);background-size:cover;background-position:center;border-bottom-left-radius:50px;border-bottom-right-radius:50px}.subhero h1{font-size:clamp(44px,7vw,92px);line-height:1;margin:0}.profile-table{border-collapse:separate;border-spacing:0;width:100%;overflow:hidden}.profile-table th,.profile-table td{padding:18px;border-bottom:1px solid var(--line);text-align:left}.profile-table th{width:34%;background:var(--pale);color:var(--deep)}.reason-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.reason-grid article,.recruit-card{padding:30px}.flow-list{counter-reset:item;display:grid;gap:18px;padding:0;list-style:none}.flow-list li{background:#fff;border:1px solid var(--line);border-radius:24px;padding:25px;box-shadow:var(--shadow)}.contact{align-items:start}.contact-info,.form{padding:32px}.contact-info dl{display:grid;grid-template-columns:100px 1fr;gap:12px}.contact-info dt{font-weight:900;color:var(--green)}.form{display:grid;gap:14px}.form label{font-weight:900;color:var(--deep)}input,select,textarea{width:100%;margin-top:7px;border:1px solid var(--line);border-radius:16px;padding:14px;font:inherit;background:#fbfffe}.map-placeholder{height:320px;border-radius:30px;background:linear-gradient(135deg,var(--pale),var(--sky));border:1px dashed var(--green);display:grid;place-items:center;text-align:center;color:var(--muted);font-weight:900}.privacy{background:#fff;border-radius:34px;padding:56px;box-shadow:var(--shadow)}.fixed-cta{position:fixed;right:18px;bottom:18px;z-index:7000;display:flex;gap:10px}.fixed-cta a{border-radius:999px;background:var(--green);color:#fff;padding:12px 16px;font-weight:900;box-shadow:var(--shadow)}.fixed-cta .alt{background:var(--blue)}.footer{background:#10384f;color:#dff8f4;padding:70px 7vw 34px;display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:34px}.footer .logo span{background:#fff;color:var(--green)}.footer nav{display:grid;gap:8px}.copy{grid-column:1/-1;border-top:1px solid rgba(255,255,255,.18);padding-top:24px}.notfound{min-height:100vh;display:grid;place-content:center;text-align:center;background:var(--pale)}.notfound h1{font-size:100px;margin:0}.reveal{opacity:1;transform:translateY(14px);transition:.7s}.reveal.in{transform:none}.ripple .rip{position:absolute;border-radius:50%;transform:scale(0);animation:ripple .65s linear;background:rgba(255,255,255,.55);pointer-events:none}@keyframes ripple{to{transform:scale(5);opacity:0}}@keyframes pulse{50%{transform:scale(1.08)}}@keyframes marquee{to{transform:translateX(-50%)}}
@media(max-width:900px){.header{inset:10px 12px auto;border-radius:24px}.logo small,#nav{display:none}#nav.open{display:grid;position:absolute;left:0;right:0;top:72px;background:#fff;border-radius:24px;padding:18px;box-shadow:var(--shadow)}.tel{display:none}.menu{display:block;margin-left:auto;border:0;border-radius:999px;background:var(--deep);color:#fff;padding:12px}.video-hero{min-height:760px;padding:130px 6vw 70px}.hero-layer{display:none}.news-strip{display:block;margin-top:-24px}.stats,.service-grid,.reason-grid,.staff,.two-col,.contact,.footer{grid-template-columns:1fr}.section{width:min(92vw,720px);padding:58px 0}.parallax{background-attachment:scroll;min-height:430px;padding:28px}.slides img{min-width:82vw;height:240px}.image-slider{grid-template-columns:1fr}.image-slider button{display:none}.fixed-cta{left:10px;right:10px;justify-content:center}.footer{padding-bottom:110px}.contact-info dl{grid-template-columns:1fr}.subhero{padding-top:130px}.hero h1{font-size:42px}}
