
:root{--ink:#20343a;--muted:#6c7c80;--blue:#0f5863;--teal:#58a6a6;--pale:#eef7f5;--cream:#faf8f2;--yellow:#f2b85b;--line:#dbe8e7;--max:1160px}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{margin:0;color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif;line-height:1.85;background:#fff;overflow-x:hidden}img{max-width:100%;display:block}a{text-decoration:none;color:inherit}.site-header{position:fixed;top:0;left:0;right:0;z-index:50;height:78px;display:flex;align-items:center;gap:28px;padding:16px 38px;background:rgba(255,255,255,.9);backdrop-filter:blur(16px);box-shadow:0 8px 28px rgba(15,88,99,.08)}.brand{display:flex;align-items:center;gap:12px;font-weight:700;white-space:nowrap}.brand img{width:150px}.brand span{font-size:13px}.site-header nav{display:flex;gap:25px;margin-left:auto}.site-header nav a{font-size:13px;letter-spacing:.08em;font-weight:700}.header-cta{display:flex;align-items:center;gap:10px}.header-cta a{font-size:12px;font-weight:700}.header-cta .mail{background:var(--blue);color:#fff;padding:10px 18px;border-radius:999px}.hamb{display:none}.hero{position:relative;min-height:760px;padding-top:78px;display:grid;align-items:center;overflow:hidden}.hero-bg{position:absolute;inset:0 0 120px 0;background:#c8d6d3}.hero-bg:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,45,52,.68),rgba(15,45,52,.22),rgba(255,255,255,.1))}.hero-bg img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-copy{position:relative;z-index:2;width:min(640px,90vw);margin-left:8vw;color:#fff;text-shadow:0 8px 24px rgba(0,0,0,.22)}.eyebrow{font-size:12px;letter-spacing:.34em;color:var(--teal);font-weight:800}.hero-copy .eyebrow{color:#fff}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(40px,5.1vw,76px);line-height:1.15;letter-spacing:.06em;margin:14px 0 24px}.hero-copy p:not(.eyebrow){font-size:17px;max-width:34em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--blue);color:#fff;border-radius:999px;padding:14px 28px;font-weight:800;letter-spacing:.04em;box-shadow:0 14px 30px rgba(15,88,99,.2);border:1px solid var(--blue)}.btn.ghost,.ghost{background:#fff;color:var(--blue)}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.hero-note{position:absolute;right:8vw;bottom:145px;z-index:3;background:rgba(255,255,255,.9);padding:22px 28px;border-radius:24px;box-shadow:0 24px 50px rgba(20,50,55,.18)}.hero-note b{font-size:30px;color:var(--blue);display:block}.hero-note span{font-size:13px}.service-float{position:relative;z-index:5;width:min(860px,88vw);margin:-122px auto 130px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.service-float a{background:#fff;border-radius:4px;box-shadow:0 26px 60px rgba(24,64,70,.16);padding:10px;text-align:center;font-weight:800}.service-float img{height:130px;width:100%;object-fit:cover}.service-float span{display:block;padding:12px}.section{padding:105px 6vw}.section-title{width:min(1080px,100%);margin:0 auto 36px}.section-title.center{text-align:center}.section-title h2,.page-hero h1,.split h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,4vw,54px);line-height:1.35;letter-spacing:.05em;margin:8px 0 0}.policy{display:grid;grid-template-columns:.85fr 1.15fr;gap:60px;width:min(var(--max),92vw);margin:auto}.policy-text p{font-size:17px}.stats{display:grid;grid-template-columns:repeat(3,auto);gap:8px 22px;margin-top:28px;align-items:end}.stats b{font-size:46px;color:var(--blue);line-height:1}.services{background:var(--cream)}.service-grid{width:min(var(--max),92vw);margin:auto;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.service-grid article{background:#fff;padding:34px 24px;border-radius:28px;box-shadow:0 18px 42px rgba(30,60,60,.08);min-width:0}.service-grid img{width:62px;height:62px;margin-bottom:22px}.service-grid h3{font-size:20px;line-height:1.5}.split{display:grid;grid-template-columns:1fr .85fr;gap:60px;align-items:center;width:min(var(--max),92vw);margin:auto}.split>img{border-radius:34px;box-shadow:0 22px 60px rgba(20,60,60,.14);width:100%;max-height:520px;object-fit:cover}.works{background:linear-gradient(#fff,var(--pale))}.work-cards{width:min(var(--max),92vw);margin:auto;display:grid;grid-template-columns:repeat(3,1fr);gap:26px}.work-cards article{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 18px 45px rgba(20,60,60,.1)}.work-cards img{height:260px;width:100%;object-fit:cover}.work-cards span{display:block;color:var(--blue);font-weight:800;padding:22px 22px 0}.work-cards p{padding:0 22px 24px}.process ol{width:min(var(--max),92vw);margin:auto;list-style:none;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.process li{border:1px solid var(--line);border-radius:24px;padding:26px 18px;text-align:center;background:#fff}.process b{display:block;color:var(--teal);font-size:26px}.page-hero{padding:170px 6vw 90px;background:linear-gradient(135deg,var(--pale),#fff);text-align:center}.page-hero p{max-width:720px;margin:18px auto}.service-detail{display:grid;gap:42px;width:min(var(--max),92vw);margin:auto}.service-detail article{display:grid;grid-template-columns:.9fr 1.1fr;gap:44px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:32px;padding:24px;box-shadow:0 18px 45px rgba(20,60,60,.08)}.service-detail article:nth-child(even){grid-template-columns:1.1fr .9fr}.service-detail article:nth-child(even) img{order:2}.service-detail img{width:100%;height:280px;object-fit:cover;border-radius:24px}.service-detail h2{font-size:34px}.recruit-hero{background:linear-gradient(rgba(15,88,99,.78),rgba(15,88,99,.62)),url('../images/staff-group.jpg') center/cover;color:#fff}.recruit-hero .eyebrow{color:#fff}.point-grid{width:min(var(--max),92vw);display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin:auto}.point-grid article,.job-list article,.contact-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 16px 38px rgba(20,60,60,.08)}.point-grid b{color:var(--teal);font-size:30px}.jobs{background:var(--cream)}.jobs h2,.job-list{width:min(var(--max),92vw);margin-left:auto;margin-right:auto}.job-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.company .message{display:grid;grid-template-columns:.95fr 1.05fr;gap:42px;align-items:center;width:min(var(--max),92vw);margin:auto auto 50px}.message img{border-radius:34px}.company table{width:min(900px,92vw);margin:auto;border-collapse:collapse;background:#fff;box-shadow:0 16px 42px rgba(20,60,60,.08)}.company th,.company td{border-bottom:1px solid var(--line);padding:18px;text-align:left;vertical-align:top}.company th{width:150px;color:var(--blue)}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:26px;width:min(980px,92vw);margin:auto}.contact-card a:not(.btn){display:block;font-size:28px;font-weight:800;color:var(--blue)}.contact-card.green{background:var(--pale)}.contact-card .btn{margin:8px 8px 0 0}.contact-band{display:grid;grid-template-columns:1.1fr .9fr;gap:34px;align-items:center;padding:70px 8vw;border-top:1px solid var(--line);background:#fff}.contact-band h2{font-family:"Yu Mincho",serif;font-size:32px}.contact-actions{display:grid;gap:12px}.contact-actions .tel{background:var(--pale);padding:14px 20px;border-radius:999px;font-weight:800;color:var(--blue)}.footer{background:#f2f2f2;padding:50px 8vw;display:grid;grid-template-columns:1.2fr 1fr;gap:30px}.footer img{width:150px}.footer nav{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.footer small{grid-column:1/-1;color:var(--muted)}.fixed-entry{position:fixed;right:22px;bottom:22px;z-index:40;background:var(--yellow);color:#2d2d2d;border-radius:999px;padding:14px 20px;font-weight:900;box-shadow:0 12px 30px rgba(0,0,0,.18)}.reveal{opacity:1;transform:none;transition:box-shadow .35s,transform .35s}.reveal.show{opacity:1;transform:none}@media(max-width:980px){.site-header nav,.header-cta{display:none}.hamb{display:grid;margin-left:auto;background:none;border:0;gap:6px}.hamb span{display:block;width:28px;height:2px;background:var(--blue)}.site-header.open nav{display:grid;position:absolute;left:18px;right:18px;top:84px;background:#fff;padding:24px;border-radius:22px;box-shadow:0 20px 50px rgba(0,0,0,.12)}.service-grid,.point-grid{grid-template-columns:repeat(2,1fr)}.policy,.split,.company .message,.contact-band{grid-template-columns:1fr}.process ol{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){body{font-size:14px;line-height:1.75}.site-header{height:68px;padding:12px 16px}.brand img{width:118px}.brand span{font-size:11px}.hero{min-height:700px;padding-top:68px}.hero-bg{inset:0 0 160px}.hero-copy{margin:0 22px;align-self:end;padding-bottom:175px}.hero h1{font-size:36px;line-height:1.22}.hero-copy p:not(.eyebrow){font-size:14px}.hero-note{left:22px;right:22px;bottom:104px}.service-float{grid-template-columns:1fr;gap:12px;margin:-90px auto 70px}.service-float img{height:118px}.section{padding:70px 5vw}.section-title h2,.page-hero h1,.split h2{font-size:29px;line-height:1.42}.service-grid,.work-cards,.point-grid,.job-list,.contact-page{grid-template-columns:1fr}.service-detail article,.service-detail article:nth-child(even){grid-template-columns:1fr;padding:18px}.service-detail article:nth-child(even) img{order:0}.service-detail img{height:210px}.process ol{grid-template-columns:1fr}.page-hero{padding:120px 6vw 65px}.contact-band{padding:54px 6vw}.footer{grid-template-columns:1fr}.fixed-entry{right:14px;bottom:14px;padding:12px 16px;font-size:13px}.stats{grid-template-columns:1fr 1fr}.stats b{font-size:34px}}
