@import "https://fonts.googleapis.com/css2?family=DM+Mono&family=Noto+Sans+JP:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;700&display=swap";:root{--ink:#143247;--teal:#387c78;--mint:#dbeae0;--paper:#f7f8f4;--line:#d9dfda}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Noto Sans JP,sans-serif;font-size:15px;line-height:1.85}a{color:inherit;text-decoration:none}.site-header{justify-content:space-between;align-items:center;max-width:1240px;height:88px;margin:auto;padding:0 28px;display:flex}.brand{letter-spacing:.08em;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.brand img{object-fit:cover;border-radius:50%;width:32px;height:32px}nav{align-items:center;gap:27px;font-size:13px;display:flex}nav a:not(.nav-contact){opacity:.72}.nav-contact{border:1px solid var(--ink);padding:8px 14px}.hero{grid-template-columns:1.1fr .9fr;align-items:center;max-width:1240px;min-height:605px;margin:auto;padding:56px 28px 70px;display:grid;overflow:hidden}.eyebrow,.section-label{letter-spacing:.14em;color:var(--teal);margin:0 0 22px;font:11px DM Mono,monospace}h1,h2{letter-spacing:.04em;font-family:Zen Old Mincho,serif;font-weight:700;line-height:1.55}h1{margin:0;font-size:clamp(32px,4vw,53px)}.hero-text{color:#435b67;margin:27px 0 31px;font-size:15px}.button{background:var(--ink);color:#fff;align-items:center;gap:28px;padding:14px 20px;font-size:13px;display:inline-flex}.button span{font-size:19px;line-height:1}.hero-art{height:400px;position:relative}.shape,.outline{position:absolute}.shape-one{background:var(--teal);width:39%;height:50%;top:15%;left:10%}.shape-two{background:var(--ink);width:37%;height:68%;top:0;right:0}.shape-three{background:#e3eee7;width:40%;height:36%;bottom:0;left:34%}.shape-four{background:var(--ink);width:25%;height:27%;bottom:5%;right:10%}.outline{border:2px solid #c4dfd0;width:48%;height:47%;top:33%;right:9%}.outline-two{border-width:0 0 2px 2px;width:63%;height:54%;bottom:3%;left:18%}.section-pad{padding:105px max(28px,50vw - 592px)}.intro{background:#e7eee8}.intro-grid{grid-template-columns:1fr 1fr;gap:10%;display:grid}.intro h2,.section-heading h2,.company h2{margin:0;font-size:34px}.intro-grid p{color:#3d5661;margin:7px 0 0}.services{background:#fff}.section-heading{justify-content:space-between;align-items:end;margin-bottom:55px;display:flex}.section-heading .section-label{margin-bottom:12px}.section-heading>p{color:#536771;margin:0;font-size:14px}.service-list{border-top:1px solid var(--line)}.service{border-bottom:1px solid var(--line);grid-template-columns:13% 1fr;padding:29px 0 30px;display:grid}.service span{color:var(--teal);font:12px DM Mono,monospace}.service h3{letter-spacing:.04em;margin:0 0 10px;font-family:Zen Old Mincho,serif;font-size:23px}.service p{color:#536771;max-width:650px;margin:0;font-size:14px}.profile{background:var(--ink);color:#fff;grid-template-columns:160px 1.1fr 1fr;align-items:start;gap:35px;display:grid}.profile .section-label{color:#a8d5c1}.profile h2{margin:0;font-size:30px}.profile-mark{color:#a8d5c1;border:1px solid #89b9ae;place-items:center;width:88px;height:88px;font:34px DM Mono,monospace;display:grid}.profile-text{color:#dbe6e2;font-size:14px}.profile-text p:first-child{color:#fff;margin-top:0;font-weight:600}.company{background:var(--paper)}.company .section-label{margin-bottom:12px}.company dl{border-top:1px solid var(--line);max-width:800px;margin:48px 0 0}.company dl div{border-bottom:1px solid var(--line);grid-template-columns:34% 1fr;padding:20px 0;display:grid}.company dt{color:#5b7077;font-size:13px}.company dd{margin:0;font-size:14px}.contact{color:#fff;background:#3a807a;padding:105px max(28px,50vw - 592px)}.contact .section-label{color:#d4ede2}.contact h2{margin:0 0 22px;font-size:clamp(31px,4vw,48px)}.contact>p{color:#e4f1eb;margin-bottom:30px}.contact>a{border-bottom:1px solid #fff;padding-bottom:5px;font:clamp(19px,2.5vw,28px) DM Mono,monospace}.contact>a span{margin-left:18px}.privacy-note{color:#dcedea;margin:18px 0 0;font-size:11px}.privacy-note a{border-bottom:1px solid}footer{color:#bfd0d0;background:#102c3e;justify-content:space-between;padding:21px max(28px,50vw - 592px);font:11px DM Mono,monospace;display:flex}.privacy-page{flex-direction:column;min-height:100vh;display:flex}.privacy-page article{color:#4d626a;flex:1;width:min(820px,100% - 56px);margin:72px auto 110px;font-size:14px}.privacy-page h1{color:var(--ink);margin:0 0 48px;font-size:38px}.privacy-page h2{color:var(--ink);margin:45px 0 13px;font-size:21px}.privacy-page article p{margin:0 0 18px}.privacy-page article a{text-decoration:underline}.back-link{color:#506873;font-size:12px}@media (max-width:700px){.site-header{height:72px;padding:0 20px}.brand span,nav a:not(.nav-contact){display:none}nav{gap:0}.nav-contact{padding:6px 10px;font-size:12px}.hero{min-height:auto;padding:38px 20px 50px;display:block}.hero-art{height:240px;margin:45px -20px 0}.hero-text{font-size:14px}.desktop-only{display:none}.section-pad{padding:70px 20px}.intro-grid,.profile{display:block}.intro h2,.section-heading h2,.company h2{font-size:27px}.intro-grid p{margin-top:22px}.section-heading{margin-bottom:35px;display:block}.section-heading>p{margin-top:18px}.service{grid-template-columns:48px 1fr}.service h3{font-size:20px}.profile-mark{margin-bottom:32px}.profile h2{font-size:26px}.profile-text{margin-top:30px}.company dl{margin-top:35px}.company dl div{grid-template-columns:1fr;gap:4px}.contact{padding:70px 20px}footer{padding:20px}.privacy{padding:55px 20px}}
