:root{--ink:#24312d;--cream:#f5f1e8;--paper:#fffdf8;--sage:#b9c7b5;--line:#d8d8ce;--accent:#d87c5f}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Noto Sans JP',sans-serif;line-height:1.9}a{color:inherit;text-decoration:none}.site-header{height:78px;padding:0 5vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e9e6dd;background:rgba(255,253,248,.92);position:sticky;top:0;z-index:5;backdrop-filter:blur(10px)}.logo{font-family:'Zen Maru Gothic';font-weight:700;font-size:22px;letter-spacing:.06em}.logo span{color:var(--accent)}nav{display:flex;align-items:center;gap:28px;font-size:14px}nav a{transition:.2s}nav a:hover{opacity:.55}.nav-cta,.button{display:inline-block;padding:11px 22px;border-radius:999px}.nav-cta{background:var(--ink);color:#fff}.hero{display:grid;grid-template-columns:1fr 1fr;min-height:690px;background:var(--cream)}.hero-copy{padding:110px 8vw 70px;display:flex;flex-direction:column;justify-content:center}.eyebrow{font-size:11px;letter-spacing:.22em;font-weight:700;color:#77827a;margin:0 0 18px}.hero h1{font-family:'Zen Maru Gothic';font-size:clamp(42px,5vw,70px);line-height:1.25;margin:0 0 24px;letter-spacing:-.04em}.hero h1 em{font-style:normal;color:var(--accent)}.lead{font-size:16px;margin:0 0 28px}.hero-actions{display:flex;gap:22px;align-items:center}.button{font-weight:700;text-align:center}.dark{background:var(--ink);color:white;padding:15px 28px}.text-link{font-size:14px;font-weight:700}.mini-note{margin-top:34px;font-size:12px;color:#68716c}.mini-note span{color:var(--accent);margin:0 6px}.hero-image{overflow:hidden}.hero-image img,.split-image img{width:100%;height:100%;object-fit:cover;display:block}.ticker{overflow:hidden;white-space:nowrap;background:var(--accent);color:white;font-size:13px;padding:10px}.ticker div{display:inline-block;animation:slide 24s linear infinite}@keyframes slide{to{transform:translateX(-50%)}}.section{padding:110px 8vw}.section-head{max-width:690px;margin-bottom:58px}.section h2{font-family:'Zen Maru Gothic';font-size:clamp(30px,4vw,48px);line-height:1.45;margin:0 0 22px;letter-spacing:-.03em}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line)}.service-grid article{padding:28px 22px 18px 0;border-right:1px solid var(--line);min-height:290px}.service-grid article:not(:first-child){padding-left:22px}.service-grid article:last-child{border-right:0}.service-grid span{font-size:12px;color:var(--accent);font-weight:700}.service-grid h3{font-size:19px;margin:32px 0 12px}.service-grid p{font-size:13px;color:#626b66}.service-grid b{font-size:14px}.split-image{height:520px;background:#ddd}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;background:var(--sage)}.about-copy{max-width:590px}.about-copy p{font-size:15px}.signature{margin-top:36px;font-family:'Zen Maru Gothic';font-size:20px}.signature small{font-size:12px}.voices{background:var(--cream)}.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.voice-grid blockquote{margin:0;background:white;padding:34px;font-size:14px;min-height:250px;display:flex;flex-direction:column;justify-content:space-between}.voice-grid cite{font-style:normal;font-size:11px;color:#778078;margin-top:20px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:8vw}.faq-list details{border-top:1px solid var(--line);padding:18px 0}.faq-list details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:700;font-size:15px}.faq-list p{font-size:13px;color:#626b66;padding-right:30px}.contact{display:grid;grid-template-columns:1fr 1fr;gap:8vw;padding:100px 8vw;background:var(--ink);color:white}.contact .eyebrow{color:#b9c7b5}.contact h2{font-family:'Zen Maru Gothic';font-size:clamp(32px,4vw,50px);line-height:1.45}.contact>div>p:not(.eyebrow){color:#cbd1cd}.contact-card{background:#33413c;padding:38px}.tel-label{font-size:12px;color:#b9c7b5;margin:0}.tel{font-size:34px;font-weight:700;display:block;margin:4px 0}.contact-card>p{font-size:12px}.light{background:white;color:var(--ink);margin:20px 0}.address{border-top:1px solid #52615b;margin-top:20px;padding-top:20px;font-size:12px;color:#d5dad7}footer{padding:45px 8vw;display:flex;align-items:center;gap:35px;flex-wrap:wrap}footer p{font-size:12px;color:#6d766f;margin-right:auto}footer small{font-size:10px;color:#8b918d}@media(max-width:900px){nav a:not(.nav-cta){display:none}.hero{grid-template-columns:1fr}.hero-copy{padding:80px 7vw}.hero-image{height:400px}.service-grid{grid-template-columns:1fr 1fr}.about,.faq,.contact{grid-template-columns:1fr}.voice-grid{grid-template-columns:1fr}.section{padding:75px 7vw}.contact{padding:75px 7vw}}@media(max-width:560px){.service-grid{grid-template-columns:1fr}.service-grid article{border-right:0;border-bottom:1px solid var(--line);padding:25px 0!important}.hero h1{font-size:40px}.hero-image{height:300px}.tel{font-size:28px}}
