@charset "UTF-8";
.business-purposes{list-style:none;margin:0;padding:0}.business-purposes li{display:grid;grid-template-columns:auto 1fr;gap:.5em}.business-purposes li+li{margin-top:.75em}
.service-app-icon{display:block;width:100%;max-width:320px;height:auto;aspect-ratio:1;object-fit:contain;margin:24px auto;border-radius:24px}
@media(max-width:760px){.service-app-icon{max-width:260px;margin-block:20px;border-radius:20px}}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
:root{--ink:#214d3c;--text:#30473b;--muted:#65736a;--paper:#fcfcf7;--green:#dcebbb;--line:#d9dfd3;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Meiryo",sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:104px}body{margin:0;background:var(--paper);color:#000;font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}a{color:#000;text-decoration:none}a:focus-visible{outline:3px solid #bc7100;outline-offset:6px}a:hover{color:#000}.wrap{width:min(1240px,calc(100% - 112px));margin-inline:auto}.skip{position:fixed;top:-100px;left:20px;z-index:99;background:white;padding:16px}.skip:focus{top:8px}.header{min-height:104px;padding:20px 4.1%;display:flex;align-items:center;justify-content:space-between;gap:30px;border-bottom:1px solid var(--line);background:var(--paper)}.brand{display:inline-flex;align-items:center;gap:12px;flex-shrink:0}.brand span{font-size:21px;letter-spacing:.07em;line-height:1.35;font-weight:700}.brand small{display:block;font-size:10px;letter-spacing:.14em;margin-bottom:4px}nav{display:flex;gap:30px;align-items:center;font-size:12px;font-weight:700}nav a{white-space:nowrap}.nav-contact{padding:13px 19px;border:1px solid var(--ink);border-radius:30px}.nav-contact span{margin-left:16px}.hero{display:grid;grid-template-columns:1.05fr 1fr;align-items:center;gap:60px;padding-top:62px;padding-bottom:44px}.eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:.17em;display:flex;align-items:center;gap:10px;margin:0 0 26px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}h1{font-size:clamp(40px,4.45vw,66px);letter-spacing:.075em;line-height:1.48;font-weight:600;margin:0 0 23px;font-family:var(--serif);color:#000}.accent{position:relative;background:linear-gradient(transparent 78%,var(--green) 78%,var(--green) 93%,transparent 93%)}.hero-description{font-size:14px;line-height:2.05;margin-bottom:27px}.text-link{display:inline-flex;align-items:center;gap:36px;font-size:13px;font-weight:700}.arrow{width:39px;height:39px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:21px;transition:background .2s}.text-link:hover .arrow{background:var(--green)}.hero-art{align-self:stretch;min-height:530px;display:flex;flex-direction:column;justify-content:space-between;background:#e6edd8;border-radius:150px 150px 10px 10px;padding:40px 32px 24px;overflow:hidden}.art-label{text-align:center;font-family:Arial,sans-serif;letter-spacing:.18em;font-size:10px;line-height:1.7;color:#000}.art-grid{display:grid;grid-template-columns:1fr 1fr;max-width:385px;width:100%;margin:24px auto}.tile{aspect-ratio:1;position:relative;overflow:hidden}.tile-one{background:var(--ink);border-radius:50% 50% 0 50%}.petal{width:42%;height:42%;background:var(--green);border-radius:50%;position:absolute}.p1{top:14%;left:14%}.p2{top:14%;right:14%}.p3{bottom:14%;left:14%}.p4{bottom:14%;right:14%}.tile-one i{position:absolute;inset:40%;background:var(--ink);border-radius:50%}.tile-two{background:#c5d69c;border-radius:50% 50% 50% 0}.tile-two i{position:absolute;inset:18%;border-radius:50%;border:18px solid var(--paper)}.tile-two b{position:absolute;inset:40%;background:var(--ink);border-radius:50%}.tile-three{background:#efcf77;border-radius:50% 0 50% 50%}.tile-three i,.tile-three b,.tile-three em{position:absolute;left:20%;right:20%;height:22%;border-radius:50px;background:var(--ink);transform:rotate(-32deg)}.tile-three i{top:15%}.tile-three b{top:39%}.tile-three em{top:63%}.tile-four{background:var(--ink);border-radius:0 50% 50% 50%}.tile-four i{position:absolute;inset:16%;border:22px solid #9dba79;border-radius:50%}.tile-four b{position:absolute;inset:39%;border-radius:50%;background:var(--paper)}.art-footer{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:10px;letter-spacing:.08em}.art-footer>span:first-child{font-family:var(--serif);font-size:13px;letter-spacing:.15em}.art-footer>span:last-child{font-family:Arial,sans-serif}.art-footer>span:last-child span{font-size:22px;margin-left:10px}.hero-bottom{padding-bottom:27px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:.05em;color:#000}.hero-bottom a{font:9px Arial,sans-serif;letter-spacing:.12em}.hero-bottom a span{margin-left:20px;font-size:17px}.section{padding-block:92px}.section-label>span{display:block;font:11px Arial,sans-serif;letter-spacing:.15em;color:#000;margin-bottom:13px}.section-label h2{font-size:26px;letter-spacing:.06em;line-height:1.5;margin:0;font-weight:600}.about{display:grid;grid-template-columns:1fr 1.65fr;border-bottom:1px solid var(--line);gap:64px}.about-copy h3{margin:0 0 30px;font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.9;letter-spacing:.045em}.about-copy p{font-size:14px;line-height:2.2;margin:0 0 20px}.about-copy p:last-child{margin:0}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:34px;gap:20px}.section-heading>p{font-size:13px;color:#000;margin:0 0 7px}.service{display:grid;grid-template-columns:1fr 1.12fr;border:1px solid var(--line);border-radius:8px;overflow:hidden}.service-art{background:#e8eddd;padding:34px;display:flex;flex-direction:column;justify-content:space-between}.service-art-caption{font:bold 16px/1.35 Arial,sans-serif;letter-spacing:.03em}.service-art svg{width:100%;height:auto;max-height:320px;display:block}.service-art-bottom{display:flex;justify-content:space-between;align-items:center;font:10px Arial,sans-serif;letter-spacing:.16em}.service-art-bottom span{font-size:22px}.service-copy{padding:43px 40px;background:white}.status{display:inline-flex;align-items:center;gap:7px;background:#edf3e3;color:#000;font-size:11px;padding:7px 11px;border-radius:30px}.status .dot{width:5px;height:5px}.service-kicker{font-size:11px!important;color:#000;margin:25px 0 7px!important}.service-copy h3{font-size:clamp(22px,2.2vw,32px);font-weight:700;letter-spacing:.035em;margin:0 0 24px}.service-copy>p{font-size:13px;line-height:2;margin:18px 0}.service-note{border-top:1px solid var(--line);margin-top:28px;padding-top:20px}.service-note>span{font:10px Arial,sans-serif;letter-spacing:.15em}.service-note>p{font-size:11px;line-height:1.8;color:#000;margin:9px 0 0}.company{display:grid;grid-template-columns:1fr 1.65fr;gap:64px;padding-top:20px;padding-bottom:108px}.company-location{font-family:var(--serif);font-size:17px;margin-top:32px;color:#000}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-top:1px solid var(--line);padding:24px 0;line-height:1.9;font-size:13px}.company-table>div:last-child{border-bottom:1px solid var(--line)}dt{font-weight:700}dd{margin:0;overflow-wrap:anywhere}.muted{color:#000;font-size:11px}.address-break{display:none}.contact-band{background:#e8eedf}.contact-inner{padding-block:49px;display:grid;grid-template-columns:1fr 1.6fr 50px;gap:30px;align-items:center}.contact-inner>div>p{font-size:12px;line-height:1.9;margin:6px 0;color:#000}.contact-inner .contact-message{font-size:15px;color:#000;font-weight:600}.contact-symbol{width:48px;height:48px;display:grid;place-items:center;border-radius:50%;border:1px solid #b5c5a3;font-size:25px}.footer{display:flex;align-items:center;justify-content:space-between;gap:30px;min-height:133px}.footer p{margin-left:auto;font-size:10px;color:#000}.footer .brand span{font-size:18px}.back-top{display:grid;place-items:center;border:1px solid var(--line);border-radius:50%;width:35px;height:35px}
@media(min-width:1500px){.hero-art{min-height:570px}.hero{gap:100px}.art-grid{max-width:410px}}
@media(max-width:1050px){.wrap{width:calc(100% - 64px)}.header{padding-inline:32px}nav{gap:17px;font-size:11px}.brand span{font-size:18px}.hero{gap:32px}.hero-art{min-height:490px;padding-inline:22px}.art-grid{margin-block:22px}h1{font-size:47px}.about,.company{gap:35px;grid-template-columns:1fr 1.7fr}.service-copy{padding:32px 26px}.service-art{padding:26px}.desktop-break{display:none}.contact-inner{grid-template-columns:1fr 1.7fr;gap:30px}.contact-symbol{display:none}}
@media(max-width:760px){html{scroll-padding-top:24px}.wrap{width:calc(100% - 40px)}.header{padding:19px 20px 13px;display:block;min-height:0}.brand img{width:35px;height:35px}.brand span{font-size:18px}.brand small{font-size:9px}.header nav{margin-top:19px;border-top:1px solid var(--line);padding-top:14px;gap:0;justify-content:space-between;font-size:10px}.nav-contact{padding:0;border:0;border-radius:0}.nav-contact span{margin-left:4px}.hero{grid-template-columns:1fr;padding-top:43px;gap:35px;padding-bottom:26px}.eyebrow{font-size:10px;margin-bottom:24px}h1{font-size:clamp(38px,9.8vw,61px);line-height:1.5;letter-spacing:.055em}.hero-description{font-size:13px;line-height:2;margin-top:20px}.hero-art{min-height:0;aspect-ratio:1/1.05;border-radius:110px 110px 8px 8px;padding:28px 24px 19px}.art-grid{max-width:74%;margin-block:18px}.art-label{font-size:9px}.art-footer{font-size:9px}.art-footer>span:first-child{font-size:12px}.tile-two i{border-width:14px}.tile-four i{border-width:18px}.hero-bottom{padding-bottom:22px;align-items:center}.hero-bottom>span{font-size:9px;max-width:180px;line-height:1.8}.hero-bottom a{font-size:8px;letter-spacing:.03em;white-space:nowrap}.hero-bottom a span{margin-left:5px}.section{padding-block:57px}.about,.company{grid-template-columns:1fr;gap:30px}.section-label>span{font-size:10px;margin-bottom:8px}.section-label h2{font-size:23px}.about-copy h3{font-size:24px;line-height:1.9;margin-bottom:24px}.about-copy p{font-size:13px;line-height:2.1}.section-heading{display:block;margin-bottom:25px}.section-heading>p{margin:17px 0 0;font-size:12px}.service{grid-template-columns:1fr}.service-art{padding:25px 27px}.service-art-caption{font-size:13px}.service-art svg{max-height:240px}.service-copy{padding:30px 24px}.service-copy h3{font-size:25px}.service-note{margin-top:24px}.company{padding-top:6px;padding-bottom:62px}.company-location{font-size:15px;margin:15px 0 0}.company-table>div{grid-template-columns:72px 1fr;gap:18px;font-size:12px;padding:20px 0}.contact-inner{grid-template-columns:1fr;gap:20px;padding-block:36px}.contact-inner .contact-message{font-size:13px}.contact-inner>div>p{font-size:11px}.footer{position:relative;align-items:flex-start;flex-direction:column;gap:23px;padding-block:31px;min-height:0}.footer p{margin:0;font-size:9px}.footer .brand span{font-size:17px}.back-top{position:absolute;right:0;top:35px}}
.contact-email{display:inline-block;max-width:100%;padding-block:6px;font-size:clamp(16px,2vw,22px);font-weight:600;line-height:1.6;text-decoration:underline;text-underline-offset:5px;overflow-wrap:anywhere}
/* Preserve the supplied square logo; hide only its surrounding white margins. */
.company-brand{flex-direction:column;align-items:flex-start;gap:0}
.company-brand .company-type{margin:0 0 3px 2px;font-size:10px;line-height:1.4;letter-spacing:.14em}
.brand .company-logo{display:block;width:230px;height:50px;object-fit:cover;object-position:center;mix-blend-mode:multiply}
.footer .company-logo{width:200px;height:44px}
@media(max-width:760px){.brand .company-logo{width:205px;height:45px}.footer .company-logo{width:190px;height:42px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
