
:root{--navy:#08213a;--navy2:#0b3155;--teal:#08aeb2;--teal-dark:#078b93;--blue:#1d82df;--green:#58a840;--ink:#0c2742;--muted:#607184;--paper:#f4f9fb;--line:#dce8ee;--white:#fff;--shadow:0 24px 60px rgba(8,33,58,.12);--radius:26px;--max:1200px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.8;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(calc(100% - 48px),var(--max));margin:auto}.skip-link{position:fixed;top:-80px;left:12px;z-index:9999;background:#fff;padding:10px 16px;border-radius:10px}.skip-link:focus{top:12px}.eyebrow{margin:0 0 14px;color:var(--teal-dark);font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.96);backdrop-filter:blur(16px);border-bottom:1px solid rgba(8,33,58,.08)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:inline-flex;align-items:center;gap:10px;font-weight:850;letter-spacing:-.03em}.brand-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(135deg,var(--teal),var(--blue));color:#fff;font-size:1.35rem;line-height:1}.brand-name{font-size:1.35rem}.site-nav{display:flex;align-items:center;gap:30px;font-size:.86rem;font-weight:720}.site-nav>a:not(.nav-contact){color:#25425e}.site-nav>a:not(.nav-contact):hover,.site-nav>a.is-active{color:var(--teal-dark)}.nav-contact{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,var(--teal),#23bdba);color:#fff;padding:10px 17px;border-radius:999px;box-shadow:0 10px 26px rgba(8,174,178,.2)}.nav-contact span{line-height:1.15}.nav-contact small{display:block;font-size:.57rem;font-weight:600;opacity:.85;margin-top:3px}.nav-toggle{display:none;background:none;border:0;padding:8px}.nav-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:5px 0;border-radius:2px}
.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:53px;padding:0 23px;border-radius:999px;font-weight:780;font-size:.9rem;border:1px solid transparent;transition:.2s}.button:hover{transform:translateY(-2px)}.button--primary{background:linear-gradient(135deg,var(--teal),#1cc1ba);color:#fff;box-shadow:0 14px 34px rgba(8,174,178,.22)}.button--outline{border-color:#9ccbd2;color:var(--teal-dark);background:rgba(255,255,255,.8)}.button--light{background:#fff;color:var(--teal-dark);box-shadow:0 12px 30px rgba(8,33,58,.08)}.button--dark{background:var(--navy);color:#fff}.button span{font-size:.64rem;font-weight:650;opacity:.85}
.home-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fbfdfe 0%,#f3fbfc 54%,#e9f7fb 100%)}.hero-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:55px;align-items:center;min-height:690px;padding:70px 0}.hero-copy{position:relative;z-index:2}.hero-copy h1{font-size:clamp(3.2rem,6.3vw,6rem);line-height:1.08;letter-spacing:-.065em;margin:0 0 20px}.hero-copy h1 em{font-style:normal;color:var(--navy)}.hero-sub{color:var(--teal-dark);font-size:1.28rem;font-weight:760;margin:0 0 18px}.hero-text{max-width:610px;color:#42586d;font-size:1.02rem;margin:0 0 30px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.hero-collage{height:560px;display:grid;grid-template-columns:1.32fr .68fr;grid-template-rows:1.15fr .85fr .85fr;gap:10px;position:relative}.hero-photo{margin:0;overflow:hidden;border-radius:22px;box-shadow:0 17px 40px rgba(8,33,58,.13);background:#dfeef2}.hero-photo img{width:100%;height:100%;object-fit:cover}.hero-photo--main{grid-column:1;grid-row:1 / span 2}.hero-photo--team{grid-column:2;grid-row:1}.hero-photo--interview{grid-column:2;grid-row:2}.hero-photo--support{grid-column:1;grid-row:3}.hero-photo--training{grid-column:2;grid-row:3}.hero-decor{position:absolute;width:440px;height:440px;border-radius:50%;background:radial-gradient(circle,rgba(8,174,178,.16),transparent 66%);left:-220px;bottom:-150px}.section{padding:105px 0}.section-heading{max-width:780px;margin-bottom:48px}.section-heading.center{text-align:center;margin-left:auto;margin-right:auto}.section-heading h2,.nurse-banner-copy h2,.culture-copy h2,.facts-intro h2,.intro-grid h2,.mission-grid h2,.profile-grid h2,.nurse-support h2{font-size:clamp(2.25rem,4.4vw,4.1rem);line-height:1.18;letter-spacing:-.055em;margin:0 0 16px}.section-heading>p:last-child,.culture-copy>p:not(.eyebrow),.facts-intro>p:not(.eyebrow),.intro-grid>div:last-child,.mission-grid p,.profile-grid>div>p:not(.eyebrow),.nurse-support>div>p:not(.eyebrow){color:var(--muted)}
.section--services{background:#fff}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.photo-card{min-height:470px;border:1px solid var(--line);border-radius:26px;overflow:hidden;display:flex;flex-direction:column;background:#fff;transition:.25s;box-shadow:0 12px 34px rgba(8,33,58,.05)}.photo-card:hover{transform:translateY(-7px);box-shadow:var(--shadow)}.photo-card-body{padding:30px 30px 24px;display:flex;flex-direction:column;flex:1}.photo-card img{width:100%;height:185px;object-fit:cover}.service-icon{width:52px;height:52px;border-radius:17px;display:grid;place-items:center;margin-bottom:22px}.service-icon svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.photo-card--teal .service-icon{background:#e7f9f8;color:var(--teal-dark)}.photo-card--blue .service-icon{background:#eaf3fe;color:var(--blue)}.photo-card--green .service-icon{background:#eef8e9;color:var(--green)}.card-kicker{font-size:.62rem;letter-spacing:.13em;color:#7a8a98;margin:0 0 5px}.photo-card h3{font-size:1.35rem;margin:0 0 12px}.photo-card p:not(.card-kicker){color:var(--muted);font-size:.9rem;margin:0}.more{display:inline-flex;align-items:center;gap:8px;margin-top:auto;padding-top:22px;font-size:.82rem;font-weight:800}.photo-card--teal .more{color:var(--teal-dark)}.photo-card--blue .more{color:var(--blue)}.photo-card--green .more{color:var(--green)}
.nurse-banner{background:#eef9fa}.nurse-banner-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center;background:linear-gradient(135deg,#e6f8f9,#f9fdfe);border:1px solid #cdebef;border-radius:32px;padding:34px}.nurse-banner-image{position:relative}.nurse-banner-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:24px}.nurse-banner-image span{position:absolute;left:18px;bottom:18px;background:rgba(255,255,255,.92);color:var(--teal-dark);padding:8px 13px;border-radius:999px;font-size:.72rem;font-weight:780}.nurse-logo{display:flex;align-items:center;gap:12px;color:var(--teal-dark);margin-bottom:18px}.nurse-logo>span{font-size:2.4rem;line-height:1}.nurse-logo strong{display:block;font-size:1.7rem;line-height:1.1}.nurse-logo small{display:block;letter-spacing:.22em;font-size:.6rem;margin-top:4px}.nurse-banner-copy h2{font-size:clamp(2rem,3.7vw,3.4rem)}.nurse-banner-copy>p{color:var(--muted)}.nurse-banner-copy ul{list-style:none;padding:0;margin:24px 0 30px;display:grid;gap:10px}.nurse-banner-copy li{position:relative;padding-left:27px}.nurse-banner-copy li:before{content:'✓';position:absolute;left:0;top:0;color:var(--teal-dark);font-weight:900}
.strengths{background:#fff}.strengths-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.strength-card{border:1px solid var(--line);border-radius:24px;padding:25px;background:#fff}.strength-icon{width:48px;height:48px;border-radius:15px;background:#edf8fa;display:grid;place-items:center;color:var(--teal-dark);font-size:1.3rem;font-weight:900}.strength-card h3{font-size:1.05rem;margin:19px 0 9px}.strength-card p{font-size:.82rem;color:var(--muted);min-height:86px;margin:0 0 18px}.strength-card img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:16px}.culture-section{background:#f5fafc}.culture-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:75px;align-items:center}.culture-copy p:not(.eyebrow){margin-bottom:28px}.culture-gallery{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:13px}.culture-gallery figure{margin:0;overflow:hidden;border-radius:22px;min-height:210px}.culture-gallery img{width:100%;height:100%;object-fit:cover}.culture-large{grid-row:1 / span 2}.facts-section{padding:82px 0;background:linear-gradient(135deg,#eff8fb,#f8fbfc)}.facts-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:center}.facts{margin:0;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-radius:24px;box-shadow:0 15px 42px rgba(8,33,58,.07);overflow:hidden}.facts>div{padding:30px 18px;text-align:center}.facts>div+div{border-left:1px solid var(--line)}.facts dt{font-size:.73rem;color:var(--muted)}.facts dd{margin:9px 0 0;font-size:1.3rem;font-weight:850;letter-spacing:-.04em}.contact-cta{padding:82px 0;background:linear-gradient(135deg,#07305a,#061d35);color:#fff}.contact-cta-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:35px;align-items:center}.contact-visual{display:grid;grid-template-columns:220px 1fr;gap:30px;align-items:center}.contact-visual img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:28px}.contact-visual h2{font-size:clamp(2rem,3.5vw,3.3rem);line-height:1.25;letter-spacing:-.05em;margin:0 0 12px}.contact-visual p:not(.eyebrow){color:rgba(255,255,255,.68);margin:0}.contact-card{background:#fff;color:var(--ink);border-radius:26px;padding:28px;text-align:center}.contact-icon{width:60px;height:60px;border-radius:18px;background:#e9f8f9;color:var(--teal-dark);display:grid;place-items:center;margin:0 auto 14px}.contact-icon .icon{width:29px;height:29px}.contact-card>span{display:block;font-size:.75rem;color:var(--muted)}.contact-card>a:not(.button){display:block;font-size:clamp(1.2rem,2.3vw,1.8rem);font-weight:850;margin:5px 0 18px;word-break:break-all}.contact-card .button{width:100%}
.site-footer{background:#061525;color:#fff;padding:66px 0 24px}.footer-main{display:flex;justify-content:space-between;gap:50px}.brand--footer{color:#fff}.footer-brand p{color:rgba(255,255,255,.5);font-size:.85rem}.footer-links{display:flex;gap:70px}.footer-links>div{display:grid;align-content:start;gap:8px}.footer-links strong{color:#62d7d3;font-size:.65rem;letter-spacing:.14em;margin-bottom:7px}.footer-links a{color:rgba(255,255,255,.65);font-size:.83rem}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid rgba(255,255,255,.1);margin-top:50px;padding-top:20px;color:rgba(255,255,255,.35);font-size:.7rem}
.subhero{padding:95px 0 75px;background:linear-gradient(135deg,#f7fcfd,#eaf7fa);overflow:hidden}.subhero h1{font-size:clamp(3.1rem,6vw,5.7rem);line-height:1.08;letter-spacing:-.065em;margin:0 0 20px}.subhero p:not(.eyebrow){color:var(--muted);max-width:650px}.subhero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.subhero-images{height:370px;display:grid;grid-template-columns:1.15fr .85fr;grid-template-rows:1fr 1fr;gap:10px}.subhero-images img{width:100%;height:100%;object-fit:cover;border-radius:22px}.subhero-images img:first-child{grid-row:1/span 2}.anchor-nav{position:sticky;top:78px;z-index:40;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.anchor-nav .container{height:64px;display:flex;align-items:center;gap:36px}.anchor-nav a{font-size:.82rem;font-weight:800;color:#50667a}.service-detail{padding:100px 0;border-bottom:1px solid var(--line)}.service-detail--soft,.section--soft{background:#f4f8fa}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.detail-grid--reverse .detail-media{order:2}.detail-media>img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.detail-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.detail-thumbs img{width:100%;aspect-ratio:16/8;object-fit:cover;border-radius:15px}.detail-copy h2{font-size:clamp(2.3rem,4.2vw,3.9rem);line-height:1.17;letter-spacing:-.055em;margin:0 0 18px}.detail-copy .lead{font-size:1.17rem;font-weight:750}.detail-copy>p:not(.eyebrow):not(.lead){color:var(--muted)}.info-panel{background:var(--navy);color:#fff;padding:24px 27px;border-radius:20px;margin:26px 0}.info-panel h3{font-size:.78rem;letter-spacing:.09em;color:#6ce0dc;margin:0 0 8px}.info-panel ul{margin:0;padding-left:20px;color:rgba(255,255,255,.75)}.tag-list{display:flex;gap:8px;flex-wrap:wrap}.tag-list span{border:1px solid var(--line);padding:7px 12px;border-radius:999px;font-size:.75rem;color:var(--muted)}.benefit-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.benefit-grid>div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px}.benefit-grid p{font-size:.82rem;color:var(--muted);margin:8px 0 0}.flow{list-style:none;padding:0;margin:28px 0 0}.flow li{display:grid;grid-template-columns:48px 1fr;gap:18px;padding:17px 0;border-top:1px solid var(--line)}.flow li:last-child{border-bottom:1px solid var(--line)}.flow span{font-size:.75rem;color:var(--teal-dark);font-weight:850}.flow strong{font-size:.98rem}.flow p{font-size:.84rem;color:var(--muted);margin:3px 0 0}.simple-cta{padding:72px 0;background:var(--navy);color:#fff}.simple-cta .container{display:flex;align-items:center;justify-content:space-between;gap:45px}.simple-cta h2{font-size:clamp(1.7rem,3.2vw,2.9rem);line-height:1.35;letter-spacing:-.045em;margin:0;max-width:760px}
.subhero--nurse{padding-top:80px}.nurse-hero-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:55px;align-items:center}.nurse-logo--large{margin-bottom:16px}.nurse-logo--large strong{font-size:2rem}.nurse-hero-images{position:relative;height:530px}.nurse-hero-main{width:90%;height:88%;object-fit:cover;border-radius:30px;position:absolute;right:0;top:0}.nurse-hero-person{width:38%;aspect-ratio:1/1;object-fit:cover;border-radius:50%;position:absolute;left:0;bottom:0;border:10px solid #eef9fa;box-shadow:0 15px 35px rgba(8,33,58,.12)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.nurse-point-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:55px}.nurse-point-grid article{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:#fff}.nurse-point-grid img{width:100%;height:210px;object-fit:cover}.nurse-point-grid article>span,.nurse-point-grid h3,.nurse-point-grid p{margin-left:24px;margin-right:24px}.nurse-point-grid article>span{display:block;color:var(--teal-dark);font-size:.72rem;font-weight:850;margin-top:21px}.nurse-point-grid h3{margin-top:7px;margin-bottom:8px}.nurse-point-grid p{color:var(--muted);font-size:.86rem;margin-bottom:25px}.nurse-support{display:grid;grid-template-columns:1fr 1fr;gap:75px;align-items:center}.nurse-support-image img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:28px}.contact-cta--nurse{background:linear-gradient(135deg,#087e86,#07526e)}
.company-hero-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;align-items:center}.company-hero-gallery{height:390px;display:grid;grid-template-columns:1.2fr .8fr;grid-template-rows:1fr 1fr;gap:10px}.company-hero-gallery img{width:100%;height:100%;object-fit:cover;border-radius:22px}.company-hero-gallery img:first-child{grid-row:1/span 2}.mission-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:75px;align-items:center}.mission-gallery{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}.mission-gallery img{width:100%;height:430px;object-fit:cover;border-radius:25px}.mission-gallery img:last-child{height:330px;align-self:end}.profile-grid{display:grid;grid-template-columns:.55fr 1.45fr;gap:90px}.profile-table{margin:0}.profile-table>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:21px 0;border-top:1px solid #cad9e0}.profile-table>div:last-child{border-bottom:1px solid #cad9e0}.profile-table dt{font-size:.8rem;color:var(--muted)}.profile-table dd{margin:0;font-weight:600}.subhero--simple{padding:110px 0 70px}.legal{max-width:850px}.legal>p:first-child{font-size:1.05rem}.legal h2{font-size:1.17rem;margin:38px 0 8px}.legal p{color:var(--muted)}.legal a{color:var(--teal-dark);font-weight:750}.legal-note{background:#edf7f9;border-radius:16px;padding:17px 20px}.notfound{min-height:65vh;padding:150px 0;background:#eff8fb}.notfound h1{font-size:clamp(2.5rem,6vw,5rem);letter-spacing:-.06em;margin:0 0 15px}.notfound p:not(.eyebrow){color:var(--muted);margin-bottom:26px}
.reveal{opacity:0;transform:translateY(22px);transition:.7s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}.button,.photo-card{transition:none}}
@media(max-width:980px){.container{width:min(calc(100% - 34px),var(--max))}.header-inner{height:70px}.nav-toggle{display:block}.site-nav{position:fixed;top:70px;left:0;right:0;background:rgba(255,255,255,.99);display:grid;gap:0;padding:18px 22px 25px;border-bottom:1px solid var(--line);transform:translateY(-140%);transition:.28s;box-shadow:0 25px 45px rgba(8,33,58,.12)}.site-nav.is-open{transform:none}.site-nav>a:not(.nav-contact){padding:13px 4px;border-bottom:1px solid var(--line)}.nav-contact{margin-top:16px;justify-content:center}.hero-grid,.nurse-banner-grid,.culture-grid,.facts-grid,.contact-cta-grid,.subhero-grid,.detail-grid,.nurse-hero-grid,.intro-grid,.nurse-support,.company-hero-grid,.mission-grid,.profile-grid{grid-template-columns:1fr}.hero-grid{padding:50px 0 65px;gap:35px}.hero-collage{height:510px}.service-cards{grid-template-columns:1fr}.photo-card{min-height:auto;display:grid;grid-template-columns:1.1fr .9fr}.photo-card img{height:100%;min-height:300px}.strengths-grid{grid-template-columns:repeat(2,1fr)}.culture-gallery{min-height:520px}.facts{grid-template-columns:repeat(2,1fr)}.facts>div:nth-child(3){border-left:0;border-top:1px solid var(--line)}.facts>div:nth-child(4){border-top:1px solid var(--line)}.contact-visual{grid-template-columns:180px 1fr}.subhero-images{height:340px}.detail-grid--reverse .detail-media{order:0}.nurse-point-grid{grid-template-columns:1fr}.nurse-point-grid article{display:grid;grid-template-columns:240px 1fr;grid-template-rows:auto auto 1fr}.nurse-point-grid img{grid-row:1/span 3;height:100%}.nurse-point-grid article>span{margin-top:22px}.nurse-hero-images{height:450px}.profile-grid{gap:45px}.simple-cta .container{display:block}.simple-cta .button{margin-top:25px}.footer-main{display:block}.footer-links{margin-top:35px}.anchor-nav{top:70px}}
@media(max-width:640px){.container{width:min(calc(100% - 26px),var(--max))}.hero-copy h1{font-size:3.35rem}.hero-sub{font-size:1.05rem}.hero-actions{display:grid}.hero-collage{height:480px;grid-template-columns:1.2fr .8fr;grid-template-rows:1.1fr .9fr .8fr}.section{padding:78px 0}.section-heading h2,.nurse-banner-copy h2,.culture-copy h2,.facts-intro h2,.intro-grid h2,.mission-grid h2,.profile-grid h2,.nurse-support h2{font-size:2.35rem}.photo-card{display:flex}.photo-card img{min-height:0;height:190px}.nurse-banner-grid{padding:18px}.strengths-grid{grid-template-columns:1fr}.strength-card p{min-height:auto}.culture-gallery{min-height:0;grid-template-columns:1fr 1fr;grid-template-rows:260px 160px}.culture-gallery figure{min-height:0}.culture-large{grid-column:1/span 2;grid-row:auto}.facts{grid-template-columns:1fr 1fr}.facts dd{font-size:1.05rem}.contact-visual{grid-template-columns:1fr}.contact-visual img{aspect-ratio:16/8}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:30px}.footer-links>div:last-child{grid-column:1/span 2}.footer-bottom{display:block}.footer-bottom span{display:block}.subhero h1{font-size:3.3rem}.subhero-images{height:310px}.anchor-nav .container{gap:24px;overflow:auto}.anchor-nav a{white-space:nowrap}.service-detail{padding:78px 0}.detail-copy h2{font-size:2.45rem}.benefit-grid{grid-template-columns:1fr}.nurse-hero-images{height:360px}.nurse-hero-main{width:93%}.nurse-point-grid article{display:block}.nurse-point-grid img{height:220px}.mission-gallery img{height:310px}.mission-gallery img:last-child{height:240px}.profile-table>div{grid-template-columns:1fr;gap:5px}.profile-table dt{font-weight:800;color:var(--teal-dark)}.simple-cta{padding:60px 0}.contact-card>a:not(.button){font-size:1.12rem}}
