:root{--green:#243f35;--ink:#283e34;--paper:#f7f6ef;--muted:#6b756a;--line:#d9ddcf}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:15px;line-height:1.95}a{color:inherit;text-decoration:none}a:focus-visible,summary:focus-visible{outline:3px solid #b88e46;outline-offset:5px}header{height:100px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:var(--paper);gap:20px}.brand{display:flex;gap:10px;align-items:center;font-size:23px;font-weight:700;letter-spacing:.1em;white-space:nowrap}.brand small{display:block;font-size:9px;letter-spacing:.34em;line-height:1.3}nav{display:flex;gap:28px;font-size:13px}.header-contact{background:var(--green);color:white;padding:13px 24px;font-size:13px}.header-contact span{margin-left:25px}.hero{position:relative;display:grid;grid-template-columns:53% 47%;padding:40px 4% 0 7%;gap:0}.hero-copy{padding:48px 15px 60px 0}.eyebrow{font-size:11px;letter-spacing:.2em;font-weight:700;color:#637454;margin:0 0 24px}h1,h2,.art-label{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-weight:500}h1{font-size:clamp(40px,4.4vw,66px);letter-spacing:.09em;line-height:1.5;margin:25px 0}h2{font-size:clamp(28px,3vw,41px);line-height:1.7;letter-spacing:.05em;margin:0 0 30px}h3{font-weight:600;font-size:21px;line-height:1.7}.lead{font-size:18px;line-height:2.1;margin:25px 0 16px}.hero-copy>p:not(.eyebrow):not(.lead){font-size:14px}.actions{display:flex;gap:28px;align-items:center;margin-top:30px}.button{display:inline-flex;justify-content:space-between;gap:40px;align-items:center;padding:17px 24px;background:var(--green);color:#fff;font-size:14px}.button:hover,.header-contact:hover{background:#42634f}.text-link{font-size:13px;display:inline-block;border-bottom:1px solid #6b7d65;padding-bottom:5px}.hero-note{color:var(--muted);margin-top:28px;font-size:11px!important}.hero-art{position:relative;overflow:hidden;border-radius:160px 0 0 0;min-height:590px}.hero-art svg{width:100%;height:100%;object-fit:cover;position:absolute}.art-caption{position:absolute;top:35px;right:25px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.23em}.art-label{position:absolute;bottom:40px;left:35px;color:#f9f8ec;font-size:29px;line-height:1.7;text-shadow:0 1px 8px #304d34}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;padding:25px 0;font-size:11px;letter-spacing:.12em}.hero-bottom span:last-child{font-size:9px}.section{padding:95px max(7%,calc((100% - 1150px)/2));scroll-margin-top:25px}.intro{border-top:1px solid var(--line)}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.intro-grid p{margin:0 0 22px}.section-head{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:35px}.section-head>p{font-size:13px;margin-bottom:38px}.services{background:#e9eddf}.special{display:grid;grid-template-columns:42% 58%;background:#f8f8f1}.special-visual{padding:35px;color:#d7dfc8;background:#365644;display:flex;flex-direction:column;justify-content:space-between;align-items:center;min-height:340px}.special-visual>span{font-size:10px;letter-spacing:.2em;align-self:start}.special-visual svg{max-width:270px;width:100%;height:210px}.special-visual small{font-size:12px;letter-spacing:.1em}.special-copy{padding:42px}.number{color:#697e60;font-size:10px;letter-spacing:.12em}.special-copy h3{font-size:28px;margin:13px 0}.special-copy p{font-size:14px}.muted{color:var(--muted);font-size:12px!important}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:35px}.service-grid article{padding:30px 28px;border-bottom:1px solid #cdd5c2;border-right:1px solid #cdd5c2}.service-grid article:nth-child(3n){border-right:0}.service-grid h3{margin:13px 0}.service-grid p{font-size:13px;margin-bottom:8px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin:45px 0}.steps article{border-top:1px solid #aab69e;padding-top:20px}.steps span{font-family:Georgia,serif;font-size:40px;color:#839575}.steps h3{font-size:18px}.steps p{font-size:13px}.fine{font-size:11px;color:var(--muted)}.faq{padding-top:20px}.faq details{padding:24px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-size:16px}details p{font-size:14px;max-width:850px;padding:5px 20px 0;color:var(--muted)}.contact{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;background:var(--green);color:#f6f4e8}.contact .eyebrow{color:#c3cfb4}.contact-person{display:block;font-size:12px;margin-top:25px}.contact-links{align-self:center}.phone{display:block;border-top:1px solid #6f8270;border-bottom:1px solid #6f8270;padding:25px 0;font-family:Georgia,serif;font-size:clamp(27px,3vw,42px);line-height:1.6;white-space:nowrap}.phone small{display:block;font-family:Meiryo,sans-serif;font-size:12px;margin-bottom:8px}.phone>span{float:right;font-size:23px}.email{display:flex;justify-content:space-between;align-items:center;padding:24px 0;border-bottom:1px solid #6f8270;font-size:17px}.email small{display:block;font-size:12px}.contact .fine{color:#c2cebc}.company{display:grid;grid-template-columns:1fr 2fr;column-gap:65px}.company .eyebrow{grid-column:1}.company h2{grid-column:1}.company dl{grid-column:2;grid-row:1/4;margin:0}.company dl>div{display:grid;grid-template-columns:100px 1fr;border-bottom:1px solid var(--line);padding:20px 0;font-size:13px}.company dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}dd a:hover{text-decoration:underline}footer{border-top:1px solid var(--line);padding:35px 5%;display:flex;gap:40px;align-items:center;justify-content:space-between}footer .brand{font-size:18px}footer p,footer>a:last-child{font-size:11px}footer>small{font-size:10px}.mobile-contact{display:none}.skip{position:absolute;left:10px;top:-100px}.skip:focus{top:10px;z-index:50;background:white;padding:10px}@media(min-width:1600px){.hero{max-width:1500px;margin:auto}}@media(max-width:1050px){nav{gap:15px;font-size:11px}.header-contact{padding:12px}.hero{padding-left:5%}.hero-copy{padding-top:20px}.hero-art{min-height:590px}.section{padding:65px 6%}.intro-grid{gap:35px}.contact{gap:30px}.service-grid article{padding:25px 18px}footer{gap:20px}}@media(max-width:760px){header{height:80px;padding:0 5%}.brand{font-size:20px}nav{display:none}.header-contact{font-size:11px;padding:10px 13px}.header-contact span{margin-left:10px}.hero{display:flex;flex-direction:column;padding:0 5%}.hero-copy{padding:35px 0 15px}.eyebrow{font-size:10px;margin-bottom:15px}h1{font-size:42px;margin:22px 0;line-height:1.55}.lead{font-size:16px}.hero-copy>p:not(.eyebrow):not(.lead){font-size:12px}.actions{gap:22px}.button{padding:14px 20px;gap:25px}.hero-art{min-height:380px;border-radius:100px 0 0 0;margin-top:10px}.hero-art svg{object-fit:cover;height:auto;top:-140px}.art-label{font-size:25px;bottom:25px}.art-caption{top:25px}.hero-bottom{font-size:9px;padding:20px 0}.hero-bottom span:last-child{display:none}.section{padding:55px 6%}h2{font-size:29px}.intro-grid{display:block}.intro-grid>div{font-size:14px}.section-head{display:block;margin-bottom:25px}.section-head>p{font-size:12px;margin-bottom:0}.special{grid-template-columns:1fr}.special-visual{min-height:235px;padding:20px}.special-visual svg{height:155px}.special-copy{padding:26px}.special-copy h3{font-size:24px}.service-grid{grid-template-columns:1fr 1fr}.service-grid article{padding:24px 13px}.service-grid article:nth-child(3n){border-right:1px solid #cdd5c2}.service-grid article:nth-child(2n){border-right:0}.service-grid h3{font-size:17px}.service-grid p{font-size:12px}.number{font-size:9px}.steps{grid-template-columns:1fr;gap:15px;margin:30px 0}.steps article{display:grid;grid-template-columns:50px 1fr;column-gap:15px;padding-top:15px}.steps span{grid-row:1/3;font-size:32px}.steps h3{margin:3px 0 10px}.steps p{grid-column:2;margin:0 0 15px}.faq{padding-top:15px}summary{font-size:14px}.contact{grid-template-columns:1fr;gap:25px}.phone{font-size:34px}.company{display:block}.company dl>div{grid-template-columns:75px 1fr;font-size:12px}.email small{font-size:11px}footer{flex-wrap:wrap;padding:30px 6% 95px;gap:15px}footer p{width:50%;font-size:10px}footer>small{width:40%}.mobile-contact{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--green);color:white;z-index:10;box-shadow:0 -2px 12px #0001}.mobile-contact a{text-align:center;padding:15px;font-size:13px}.mobile-contact a+a{background:#dfe5d3;color:var(--green)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
