:root{--green:#143d31;--green-deep:#0b2a22;--green-mid:#285847;--green-soft:#dce6df;--ivory:#f4efe4;--paper:#fbfaf6;--white:#fff;--ink:#17211d;--muted:#64716b;--copper:#b7653f;--copper-dark:#8e472b;--line:rgba(20,61,49,.18);--container:1280px;--narrow:840px;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;--shadow:0 24px 70px rgba(11,42,34,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.85;letter-spacing:.025em;-webkit-font-smoothing:antialiased}body.nav-open{overflow:hidden}img{display:block;max-width:100%;height:auto}picture{display:block}a{color:inherit;text-underline-offset:4px}button,input,select,textarea{font:inherit}.container{width:min(calc(100% - 64px),var(--container));margin-inline:auto}.content-narrow{width:min(100%,var(--narrow));margin-inline:auto}.skip-link{position:fixed;z-index:3000;top:8px;left:8px;transform:translateY(-150%);padding:12px 18px;background:#fff;color:var(--green);font-weight:800}.skip-link:focus{transform:none}.staging-banner{padding:7px 16px;background:#9b3c2d;color:#fff;text-align:center;font-size:13px}.kicker{margin:0 0 18px;color:var(--copper);font-size:12px;font-weight:800;letter-spacing:.18em}.section{padding:clamp(88px,9vw,150px) 0}.center{text-align:center}.mt-40{margin-top:40px}.fact-note{margin-top:44px;padding:24px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted)}.lead{font-size:clamp(18px,2vw,23px);line-height:1.75}.button{display:inline-flex;min-height:54px;align-items:center;justify-content:center;padding:13px 26px;border:1px solid transparent;text-decoration:none;font-weight:800;line-height:1.3;transition:transform .25s ease,background .25s ease,color .25s ease,border .25s ease}.button:hover{transform:translateY(-2px)}.button-copper{background:var(--copper);color:#fff}.button-copper:hover{background:var(--copper-dark)}.button-ivory{border-color:rgba(255,255,255,.45);background:var(--ivory);color:var(--green)}.text-link{display:inline-flex;align-items:center;gap:14px;padding:8px 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:14px;font-weight:800}.text-link span{transition:transform .25s ease}.text-link:hover span{transform:translateX(5px)}.text-link--large{font-size:16px}.real-photo-label,.image-note{position:absolute;right:14px;bottom:14px;padding:5px 9px;background:rgba(11,42,34,.86);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}.site-header{position:fixed;z-index:1200;top:0;left:0;right:0;color:#fff;transition:background .3s ease,color .3s ease,box-shadow .3s ease,transform .3s ease}.staging-banner+.site-header{top:38px}.site-header.is-scrolled{background:rgba(251,250,246,.96);color:var(--ink);box-shadow:0 8px 32px rgba(11,42,34,.09);backdrop-filter:blur(14px)}.header-inner{display:flex;min-height:92px;align-items:center;gap:30px;transition:min-height .3s ease}.is-scrolled .header-inner{min-height:70px}.brand{display:inline-flex;align-items:center;gap:13px;color:inherit;text-decoration:none;white-space:nowrap}.brand-monogram{position:relative;display:flex;width:58px;height:48px;align-items:center;justify-content:center;font-family:Georgia,serif;font-size:25px;font-weight:700;letter-spacing:-.26em}.brand-monogram:before,.brand-monogram:after{content:"";position:absolute;border:1px solid currentColor;border-radius:50%}.brand-monogram:before{width:38px;height:38px;left:0}.brand-monogram:after{width:32px;height:32px;right:0;border-color:var(--copper)}.brand-monogram i{position:relative;z-index:1;font-style:normal}.brand-monogram i:last-child{margin-left:2px}.brand-type{display:grid;line-height:1.25}.brand-type strong{font-size:15px;letter-spacing:.04em}.brand-type small{margin-top:5px;font-size:9px;letter-spacing:.12em;opacity:.75}.global-nav{display:flex;align-items:center;gap:clamp(14px,1.5vw,26px);margin-left:auto}.global-nav a{position:relative;padding:10px 0;color:inherit;text-decoration:none;font-size:13px;font-weight:700;white-space:nowrap}.global-nav a:after{content:"";position:absolute;right:0;bottom:5px;left:0;height:1px;background:var(--copper);transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.global-nav a:hover:after{transform:scaleX(1);transform-origin:left}.header-contact{display:flex;align-items:center;gap:16px}.header-phone{display:grid;color:inherit;text-align:right;text-decoration:none;line-height:1.2}.header-phone small{font-size:10px;letter-spacing:.06em}.header-phone strong{margin-top:4px;font-family:Georgia,serif;font-size:18px;letter-spacing:.03em}.header-button{display:grid;min-height:48px;place-items:center;padding:8px 18px;background:var(--copper);color:#fff;text-decoration:none;font-size:13px;font-weight:800}.nav-toggle{display:none}.hero{position:relative;min-height:100svh;overflow:hidden;background:var(--green-deep);color:#fff}.hero-media,.hero-shade{position:absolute;inset:0}.hero-media img{width:100%;height:100%;object-fit:cover}.hero-picture{width:100%;height:100%;animation:heroZoom 18s ease-out both}.hero-shade{background:linear-gradient(90deg,rgba(7,31,25,.94) 0%,rgba(7,31,25,.78) 38%,rgba(7,31,25,.18) 68%,rgba(7,31,25,.06) 100%),linear-gradient(0deg,rgba(7,31,25,.55),transparent 38%)}.hero-inner{position:relative;display:flex;min-height:100svh;align-items:center;padding-top:110px;padding-bottom:110px}.hero-copy{width:min(720px,65%)}.hero-kicker{margin:0 0 26px;font-size:14px;font-weight:700;letter-spacing:.18em}.hero h1{margin:0;font-family:var(--serif);font-size:clamp(49px,5.4vw,92px);font-weight:600;letter-spacing:.01em;line-height:1.27;text-wrap:balance}.headline-line{display:block}.keep-together{white-space:nowrap}.hero-lead{max-width:650px;margin:30px 0 0;font-size:clamp(17px,1.5vw,21px);line-height:1.9}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:38px}.hero-phone{display:grid;color:#fff;text-decoration:none;line-height:1.2}.hero-phone small{font-size:11px}.hero-phone strong{margin-top:5px;font-family:Georgia,serif;font-size:27px;letter-spacing:.04em}.hero-facts{position:absolute;right:0;bottom:42px;display:flex;margin:0;padding:0;list-style:none}.hero-facts li{display:grid;min-width:155px;padding:8px 24px;border-left:1px solid rgba(255,255,255,.35)}.hero-facts strong{font-family:var(--serif);font-size:19px}.hero-facts span{font-size:11px;opacity:.75}.proof-band{background:var(--green);color:#fff}.proof-band>.container{display:grid;grid-template-columns:310px 1fr;gap:72px;align-items:end;padding-top:65px;padding-bottom:65px}.proof-lead h2{margin:0;font-family:var(--serif);font-size:29px;font-weight:600;line-height:1.5}.proof-rail{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.27)}.proof-rail>div{display:grid;padding:22px 14px 0 0}.proof-rail strong{font-family:var(--serif);font-size:24px;font-weight:600}.proof-rail span{margin-top:5px;font-size:11px;opacity:.72}.editorial-heading{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:90px;align-items:end;margin-bottom:65px}.editorial-heading h2,.reason-copy>h2,.pricing-copy>h2,.company-story h2,.price-intro h2,.about-layout h2,.consultation-layout h2{margin:0;font-family:var(--serif);font-size:clamp(35px,4.1vw,60px);font-weight:600;line-height:1.48;letter-spacing:.01em}.editorial-heading>p{margin:0 0 8px;color:var(--muted)}.service-mosaic{display:grid;grid-template-columns:repeat(12,1fr);gap:32px}.service-feature{min-width:0}.service-feature>a{display:block;color:inherit;text-decoration:none}.service-feature--1{grid-column:1/8}.service-feature--2{grid-column:8/13;padding-top:100px}.service-feature--3{grid-column:1/5}.service-feature--4{grid-column:5/9;padding-top:60px}.service-feature--5{grid-column:9/13}.service-feature--6{grid-column:3/11;margin-top:45px}.service-visual{position:relative;overflow:hidden;background:var(--green-soft)}.service-feature--1 .service-visual,.service-feature--6 .service-visual{aspect-ratio:16/9}.service-feature--2 .service-visual{aspect-ratio:4/5}.service-feature--3 .service-visual,.service-feature--4 .service-visual,.service-feature--5 .service-visual{aspect-ratio:4/5}.service-visual picture,.service-visual img{width:100%;height:100%}.service-visual img{object-fit:cover;transition:transform .65s cubic-bezier(.22,.61,.36,1)}.service-feature a:hover .service-visual img{transform:scale(1.035)}.service-number{position:absolute;top:14px;left:16px;color:#fff;font-family:Georgia,serif;font-size:19px;text-shadow:0 2px 8px rgba(0,0,0,.35)}.service-copy{padding-top:22px}.service-copy h3{margin:0;font-family:var(--serif);font-size:clamp(24px,2.2vw,34px);font-weight:600;line-height:1.45}.service-copy p{margin:12px 0 14px;color:var(--muted);font-size:14px}.reason-section{background:var(--ivory)}.reason-layout{display:grid;grid-template-columns:minmax(360px,.82fr) minmax(0,1.18fr);gap:clamp(60px,8vw,130px);align-items:start}.reason-media{position:sticky;top:105px}.reason-media picture{aspect-ratio:4/3;overflow:hidden}.reason-media img{width:100%;height:100%;object-fit:cover}.reason-copy>h2{font-size:clamp(34px,3.5vw,54px)}.reason-list{margin:45px 0 0;padding:0;list-style:none;border-top:1px solid var(--line)}.reason-list li{display:grid;grid-template-columns:55px 1fr;gap:20px;padding:27px 0;border-bottom:1px solid var(--line)}.reason-list>li>span{color:var(--copper);font-family:Georgia,serif;font-size:15px}.reason-list h3{margin:0;font-family:var(--serif);font-size:22px;font-weight:600}.reason-list p{margin:5px 0 0;color:var(--muted);font-size:14px}.works-section{background:var(--green-deep);color:#fff}.works-heading{display:grid;grid-template-columns:1fr .7fr;gap:80px;align-items:end;margin-bottom:56px}.works-heading h2{margin:0;font-family:var(--serif);font-size:clamp(39px,4.4vw,64px);font-weight:600;line-height:1.45}.works-heading>p{margin:0;color:rgba(255,255,255,.7)}.case-grid{display:grid;grid-template-columns:1fr 1fr;gap:64px}.case-story{min-width:0}.case-heading{display:grid;grid-template-columns:48px 1fr;gap:16px;align-items:start;margin-bottom:20px}.case-heading>span{font-family:Georgia,serif;font-size:16px;color:var(--copper)}.case-heading .kicker{margin-bottom:7px;color:#c99a7f}.case-heading h3{margin:0;font-family:var(--serif);font-size:28px;font-weight:600}.case-heading p{margin:4px 0 0;color:rgba(255,255,255,.68);font-size:13px}.case-comparison{display:grid;grid-template-columns:1fr 1fr;gap:5px}.case-comparison figure{position:relative;margin:0;overflow:hidden;background:#355047}.case-comparison img{width:100%;aspect-ratio:3/4;object-fit:cover}.case-comparison figure>span{position:absolute;z-index:1;top:12px;left:12px;padding:4px 9px;background:rgba(11,42,34,.85);color:#fff;font-size:11px;font-weight:700}.case-facts{display:grid;grid-template-columns:1fr 1fr;margin:24px 0 0;border-top:1px solid rgba(255,255,255,.22)}.case-facts>div{padding:16px 12px 16px 0;border-bottom:1px solid rgba(255,255,255,.16)}.case-facts dt{font-size:11px;color:#c99a7f}.case-facts dd{margin:3px 0 0;font-size:13px}.case-note{font-size:12px;color:rgba(255,255,255,.63)}.permit-section{background:#e4e8e1}.permit-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:120px;align-items:start}.permit-layout h2{margin:0;font-family:var(--serif);font-size:clamp(33px,3.7vw,55px);font-weight:600;line-height:1.55}.permit-copy>p{margin-top:4px;font-size:20px}.permit-copy ul{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:30px 0;padding:0;border-top:1px solid var(--line);list-style:none}.permit-copy li{padding:15px 10px 15px 0;border-bottom:1px solid var(--line);font-size:13px}.permit-copy>a{display:inline-flex;gap:10px;align-items:center;font-weight:800}.pricing-feature{background:var(--paper)}.pricing-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(60px,8vw,130px);align-items:center}.pricing-media{position:relative}.pricing-media picture{aspect-ratio:4/5;overflow:hidden}.pricing-media img{width:100%;height:100%;object-fit:cover}.pricing-copy>h2{font-size:clamp(36px,3.8vw,55px)}.pricing-copy>p{color:var(--muted)}.price-lines{margin:36px 0;border-top:1px solid var(--line)}.price-lines>div{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding:15px 0;border-bottom:1px solid var(--line)}.price-lines span{font-size:14px}.price-lines strong{font-family:var(--serif);font-size:20px;white-space:nowrap}.source-note{font-size:12px}.flow-section{background:var(--ivory)}.flow-timeline{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:0;padding:0;list-style:none}.flow-timeline:before{content:"";position:absolute;top:25px;right:0;left:0;height:1px;background:var(--line)}.flow-timeline li{position:relative;padding:66px 34px 0 0}.flow-timeline li>span{position:absolute;top:0;left:0;display:grid;width:50px;height:50px;place-items:center;border:1px solid var(--copper);border-radius:50%;background:var(--ivory);color:var(--copper);font-family:Georgia,serif;font-size:13px}.flow-timeline h3{margin:0;font-family:var(--serif);font-size:21px}.flow-timeline p{color:var(--muted);font-size:13px}.company-story{background:#fff}.company-story-layout{display:grid;grid-template-columns:1fr 1fr;gap:clamp(70px,9vw,150px)}.company-story h2{font-size:clamp(36px,4vw,58px)}.company-lead{margin-top:48px;font-family:var(--serif);font-size:22px;line-height:1.9}.page-hero{position:relative;display:flex;min-height:560px;align-items:flex-end;overflow:hidden;background:var(--green-deep);color:#fff}.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,25,.93),rgba(7,31,25,.48) 58%,rgba(7,31,25,.16))}.page-hero-media{position:absolute;inset:0}.page-hero-media picture,.page-hero-media img{width:100%;height:100%}.page-hero-media img{object-fit:cover}.page-intro{position:relative;z-index:1;padding-top:180px;padding-bottom:78px}.breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px;font-size:11px;opacity:.72}.breadcrumbs a{text-decoration:none}.page-intro .kicker{color:#d7ab92}.page-intro h1{max-width:900px;margin:0;font-family:var(--serif);font-size:clamp(43px,5vw,73px);font-weight:600;line-height:1.35}.page-intro .lead{max-width:780px;margin:22px 0 0;color:rgba(255,255,255,.82)}.services-index{background:var(--paper)}.service-detail-layout{display:grid;grid-template-columns:1.3fr .7fr;gap:clamp(60px,9vw,140px)}.service-detail-layout h2{margin:0;font-family:var(--serif);font-size:clamp(31px,3vw,45px);font-weight:600;line-height:1.6}.service-item-list{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:45px 0 0;padding:0;border-top:1px solid var(--line);list-style:none}.service-item-list li{display:flex;gap:10px;padding:15px 10px 15px 0;border-bottom:1px solid var(--line)}.service-item-list span{color:var(--copper)}.service-detail-layout aside{padding:38px;border-left:1px solid var(--line);background:var(--ivory)}.service-detail-layout aside h3{margin-top:38px;font-family:var(--serif);font-size:24px}.plain-notes{padding-left:18px}.consultation-section{background:var(--green);color:#fff}.consultation-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}.consultation-layout h2{font-size:clamp(34px,3.6vw,52px)}.consultation-layout ol{margin:0;padding:0;list-style:none;border-top:1px solid rgba(255,255,255,.28)}.consultation-layout li{display:grid;grid-template-columns:55px 1fr;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.2)}.consultation-layout li span{color:#d6a287;font-family:Georgia,serif}.price-intro{display:grid;grid-template-columns:1fr .72fr;gap:90px;align-items:end;margin-bottom:60px}.price-intro>p{margin:0;color:var(--muted)}.price-table-wrap{overflow:auto;border-top:2px solid var(--green)}.price-table{width:100%;border-collapse:collapse}.price-table th,.price-table td{padding:19px 18px;border-bottom:1px solid var(--line);text-align:left}.price-table thead th{background:var(--green);color:#fff;font-size:12px;letter-spacing:.08em}.price-table tbody th{font-family:var(--serif);font-size:18px}.price-table tbody td:last-child{font-family:var(--serif);font-size:18px;font-weight:600;white-space:nowrap}.price-conditions{display:grid;grid-template-columns:.65fr 1.35fr;gap:70px;margin-top:70px;padding-top:45px;border-top:1px solid var(--line)}.price-conditions h2{margin:0;font-family:var(--serif);font-weight:600}.price-conditions ul{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0;padding-left:22px}.cases-page{background:var(--green-deep);color:#fff}.archive-notice{display:grid;grid-template-columns:220px 1fr;gap:40px;margin-bottom:70px;padding:24px 0;border-top:1px solid rgba(255,255,255,.25);border-bottom:1px solid rgba(255,255,255,.25)}.archive-notice p{margin:0;color:rgba(255,255,255,.7)}.case-list{display:grid;gap:110px}.case-list .case-story{max-width:1020px;margin-inline:auto}.flow-page{background:var(--ivory)}.flow-vertical{max-width:1000px;margin:0 auto;padding:0;list-style:none}.flow-vertical li{display:grid;grid-template-columns:95px 1fr;gap:40px;padding:42px 0;border-bottom:1px solid var(--line)}.flow-vertical li:first-child{border-top:1px solid var(--line)}.flow-vertical>li>span{font-family:Georgia,serif;font-size:26px;color:var(--copper)}.flow-vertical h2{margin:0;font-family:var(--serif);font-size:27px;font-weight:600}.flow-vertical p{margin:8px 0 0;color:var(--muted)}.faq-group+ .faq-group{margin-top:70px}.faq-group>h2{margin:0 0 25px;font-family:var(--serif);font-size:30px;font-weight:600}.faq-item{border-top:1px solid var(--line)}.faq-item:last-child{border-bottom:1px solid var(--line)}.faq-item summary{display:grid;grid-template-columns:50px 1fr;gap:16px;align-items:center;padding:24px 50px 24px 0;cursor:pointer;font-weight:700;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary>span{color:var(--copper);font-family:Georgia,serif;font-size:22px}.faq-answer{display:grid;grid-template-columns:50px 1fr;gap:16px;padding:0 0 26px}.faq-answer>span{color:var(--green);font-family:Georgia,serif;font-size:22px}.faq-answer p{margin:0;color:var(--muted)}.about-story{background:var(--ivory)}.about-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(60px,8vw,120px);align-items:center}.about-photo{position:relative}.about-photo picture{aspect-ratio:4/3;overflow:hidden}.about-photo img{width:100%;height:100%;object-fit:cover}.company-data{background:#fff}.company-data-heading{display:grid;grid-template-columns:260px 1fr;margin-bottom:35px}.company-data-heading h2{margin:0;font-family:var(--serif);font-size:36px;font-weight:600}.company-table{width:100%;border-collapse:collapse}.company-table th,.company-table td{padding:18px 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.company-table th{width:260px;color:var(--green);font-size:13px}.access-layout{display:grid;grid-template-columns:.7fr 1.3fr;gap:80px;align-items:center;margin-top:100px}.access-layout h2{font-family:var(--serif);font-size:26px;font-weight:600}.map-wrap{width:100%;height:420px;border:0;filter:saturate(.7) contrast(.95)}.area-layout,.contact-route-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}.area-layout h2,.contact-route-layout h2{margin:0;font-family:var(--serif);font-size:clamp(34px,3.5vw,52px);font-weight:600;line-height:1.5}.contact-route{background:var(--ivory)}.contact-route-layout>div{padding-top:30px;border-top:1px solid var(--line)}.contact-route-layout h2 a{text-decoration:none}.legal-page h2{margin-top:52px;font-family:var(--serif);font-size:25px;font-weight:600}.contact-form{display:grid;gap:22px}.field label,.field legend{display:block;margin-bottom:7px;font-weight:800}.required,.optional{display:inline-block;margin-left:7px;padding:1px 6px;font-size:11px}.required{background:#9b3c2d;color:#fff}.optional{background:var(--green-soft)}.field input[type=text],.field input[type=email],.field input[type=tel],.field select,.field textarea{width:100%;min-height:52px;padding:14px;border:1px solid #9aaba3;background:#fff}.field textarea{min-height:180px;resize:vertical}.field :focus{outline:3px solid rgba(183,101,63,.28);border-color:var(--copper)}.hint{color:var(--muted);font-size:13px}.panel{padding:28px;background:#fff}.contact-layout{display:grid;grid-template-columns:1fr 320px;gap:45px}.contact-aside{align-self:start;position:sticky;top:100px}.confirm-table{width:100%;border-collapse:collapse}.confirm-table th,.confirm-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.bottom-cta{position:relative;overflow:hidden;padding:110px 0;background:var(--green-deep);color:#fff}.bottom-cta-media,.bottom-cta-shade{position:absolute;inset:0}.bottom-cta-media{background-image:image-set(url('/ok-service/assets/images/cta-tools.avif') type('image/avif'),url('/ok-service/assets/images/cta-tools.webp') type('image/webp'));background-position:center;background-size:cover}.bottom-cta-shade{background:linear-gradient(90deg,rgba(7,31,25,.96),rgba(7,31,25,.68) 65%,rgba(7,31,25,.3))}.bottom-cta-inner{position:relative;display:grid;grid-template-columns:1.2fr .8fr;gap:80px;align-items:center}.bottom-cta h2{margin:0;font-family:var(--serif);font-size:clamp(36px,4vw,58px);font-weight:600;line-height:1.5}.bottom-cta p{color:rgba(255,255,255,.75)}.bottom-cta .kicker{color:#d6a287}.cta-actions{display:grid;justify-items:start;gap:22px}.cta-phone{display:grid;color:#fff;text-decoration:none;line-height:1.2}.cta-phone small{font-size:11px}.cta-phone strong{margin-top:8px;font-family:Georgia,serif;font-size:34px;letter-spacing:.04em}.site-footer{padding:80px 0 24px;background:#091e18;color:#d7e0dc}.footer-top{display:grid;grid-template-columns:.75fr 1.25fr;gap:100px}.brand-footer{color:#fff}.footer-top>div>p{font-size:13px;color:#aabbb4}.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer-links h2{margin:0 0 18px;color:#fff;font-size:13px}.footer-links ul{margin:0;padding:0;list-style:none}.footer-links li+li{margin-top:7px}.footer-links a{color:#d7e0dc;text-decoration:none;font-size:13px}.footer-bottom{display:grid;grid-template-columns:auto auto 1fr;gap:30px;margin-top:65px;padding-top:20px;border-top:1px solid #28453a;font-size:11px}.crea-credit{justify-self:end;color:#9eb1aa;text-decoration:none}.mobile-cta{display:none}[data-reveal]{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.22,.61,.36,1)}[data-reveal].is-visible{opacity:1;transform:none}@keyframes heroZoom{from{transform:scale(1)}to{transform:scale(1.045)}}
@media(max-width:1180px){.global-nav{display:none}.header-phone{display:none}.nav-toggle{display:grid;width:50px;height:50px;place-items:center;margin-left:auto;padding:8px;border:0;background:transparent;color:inherit}.nav-toggle span{display:block;width:24px;height:1px;background:currentColor;margin:3px}.nav-toggle b{font-size:8px;letter-spacing:.12em}.global-nav.open{position:absolute;top:100%;left:0;display:grid;width:100%;padding:18px 32px 28px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow)}.global-nav.open a{min-height:48px;display:flex;align-items:center;border-bottom:1px solid var(--line)}.proof-band>.container{grid-template-columns:1fr;gap:30px}.proof-rail{grid-template-columns:repeat(5,1fr)}.hero-facts{right:32px}.reason-layout{grid-template-columns:.75fr 1.25fr;gap:70px}}
@media(max-width:820px){body{padding-bottom:72px}.container{width:min(calc(100% - 36px),var(--container))}.section{padding:78px 0}.site-header{background:rgba(11,42,34,.82);backdrop-filter:blur(10px)}.site-header.is-scrolled{background:rgba(251,250,246,.97)}.header-inner,.is-scrolled .header-inner{min-height:72px}.brand-monogram{width:48px;height:40px;font-size:21px}.brand-monogram:before{width:34px;height:34px}.brand-monogram:after{width:28px;height:28px}.brand-type strong{font-size:13px}.brand-type small,.header-button{display:none}.hero,.hero-inner{min-height:760px}.hero-media img{object-position:67% center}.hero-shade{background:linear-gradient(180deg,rgba(7,31,25,.58),rgba(7,31,25,.78) 48%,rgba(7,31,25,.98) 100%)}.hero-inner{align-items:flex-end;padding-top:120px;padding-bottom:145px}.hero-copy{width:100%}.hero-kicker{font-size:12px}.hero h1{font-size:clamp(39px,10.5vw,58px);line-height:1.35}.keep-together{white-space:normal}.hero-lead{margin-top:21px;font-size:16px;line-height:1.8}.hero-actions{align-items:flex-start;flex-direction:column;gap:20px;margin-top:28px}.hero-actions .button{width:100%}.hero-phone strong{font-size:25px}.hero-facts{right:18px;bottom:21px;left:18px;justify-content:space-between}.hero-facts li{min-width:0;padding:7px 12px}.hero-facts strong{font-size:14px}.hero-facts span{font-size:9px}.proof-band>.container{padding-top:52px;padding-bottom:52px}.proof-lead h2{font-size:27px}.proof-rail{grid-template-columns:1fr 1fr;border-top:0}.proof-rail>div{padding:15px 10px 15px 0;border-top:1px solid rgba(255,255,255,.24)}.proof-rail strong{font-size:21px}.editorial-heading,.works-heading,.permit-layout,.pricing-layout,.company-story-layout,.service-detail-layout,.consultation-layout,.price-intro,.about-layout,.access-layout,.area-layout,.contact-route-layout,.bottom-cta-inner,.footer-top{grid-template-columns:1fr;gap:35px}.editorial-heading{margin-bottom:42px}.editorial-heading h2,.reason-copy>h2,.pricing-copy>h2,.company-story h2,.price-intro h2,.about-layout h2,.consultation-layout h2{font-size:34px;line-height:1.55}.service-mosaic{grid-template-columns:1fr 1fr;gap:38px 14px}.service-feature--1,.service-feature--2,.service-feature--3,.service-feature--4,.service-feature--5,.service-feature--6{grid-column:auto;padding-top:0;margin-top:0}.service-feature--1{grid-column:1/3}.service-feature--6{grid-column:1/3}.service-feature--1 .service-visual,.service-feature--6 .service-visual{aspect-ratio:4/3}.service-feature--2 .service-visual,.service-feature--3 .service-visual,.service-feature--4 .service-visual,.service-feature--5 .service-visual{aspect-ratio:3/4}.service-copy{padding-top:14px}.service-copy h3{font-size:20px}.service-copy p{display:none}.service-copy .text-link{font-size:12px}.reason-layout{grid-template-columns:1fr;gap:45px}.reason-media{position:relative;top:auto}.reason-list{margin-top:35px}.reason-list li{grid-template-columns:42px 1fr}.reason-list h3{font-size:19px}.works-heading{margin-bottom:40px}.works-heading h2{font-size:38px}.case-grid{grid-template-columns:1fr;gap:72px}.case-heading{grid-template-columns:38px 1fr}.case-heading h3{font-size:24px}.permit-layout{gap:32px}.permit-layout h2{font-size:34px}.permit-copy>p{font-size:17px}.permit-copy ul{grid-template-columns:1fr 1fr}.pricing-layout{gap:48px}.pricing-media picture{aspect-ratio:4/3}.price-lines strong{font-size:17px}.flow-timeline{grid-template-columns:1fr}.flow-timeline:before{top:0;bottom:0;left:24px;width:1px;height:auto}.flow-timeline li{padding:0 0 32px 72px}.flow-timeline li>span{top:0}.company-lead{margin-top:0;font-size:19px}.page-hero{min-height:500px}.page-hero:after{background:linear-gradient(180deg,rgba(7,31,25,.48),rgba(7,31,25,.93))}.page-hero-media img{object-position:center}.page-intro{padding-top:145px;padding-bottom:55px}.breadcrumbs{margin-bottom:28px}.page-intro h1{font-size:39px}.page-intro .lead{font-size:17px}.service-item-list{grid-template-columns:1fr}.service-detail-layout aside{padding:28px;border-left:0;border-top:1px solid var(--line)}.consultation-layout{gap:40px}.price-table{min-width:650px}.price-conditions{grid-template-columns:1fr;gap:25px}.price-conditions ul{grid-template-columns:1fr}.archive-notice{grid-template-columns:1fr;gap:8px}.case-facts{grid-template-columns:1fr}.flow-vertical li{grid-template-columns:52px 1fr;gap:16px;padding:30px 0}.flow-vertical>li>span{font-size:20px}.flow-vertical h2{font-size:22px}.faq-item summary{grid-template-columns:35px 1fr;padding-right:0}.faq-answer{grid-template-columns:35px 1fr}.company-data-heading{grid-template-columns:1fr}.company-table th,.company-table td{display:block;width:100%;padding:11px 0}.company-table th{padding-top:20px;border-bottom:0}.access-layout{margin-top:70px}.map-wrap{height:340px}.contact-layout{grid-template-columns:1fr}.contact-aside{position:static}.bottom-cta{padding:82px 0}.bottom-cta h2{font-size:35px}.cta-phone strong{font-size:29px}.site-footer{padding-top:65px}.footer-links{grid-template-columns:1fr 1fr;gap:26px}.footer-bottom{grid-template-columns:1fr;gap:6px}.crea-credit{justify-self:start}.mobile-cta{position:fixed;z-index:1300;right:0;bottom:0;left:0;display:grid;height:72px;grid-template-columns:1fr 1fr;padding-bottom:env(safe-area-inset-bottom);box-shadow:0 -5px 25px rgba(0,0,0,.2)}.mobile-cta a{display:grid;min-height:72px;place-content:center;background:var(--green);color:#fff;text-align:center;text-decoration:none;line-height:1.2}.mobile-cta a:last-child{background:var(--copper)}.mobile-cta small{font-size:9px}.mobile-cta strong{margin-top:4px;font-size:14px}}
@media(max-width:410px){.container{width:min(calc(100% - 28px),var(--container))}.brand-type strong{font-size:12px}.hero h1{font-size:38px}.headline-line{display:inline}.hero-facts li{padding-inline:8px}.service-copy h3{font-size:18px}.service-number{font-size:15px}.proof-rail strong{font-size:19px}.case-comparison img{aspect-ratio:3/4}.footer-links{grid-template-columns:1fr}.cta-phone strong{font-size:26px}}
@media(min-width:821px){.service-feature--compact.service-feature--1,.service-feature--compact.service-feature--2,.service-feature--compact.service-feature--3,.service-feature--compact.service-feature--4,.service-feature--compact.service-feature--5,.service-feature--compact.service-feature--6{grid-column:span 4;padding-top:0;margin-top:0}.service-feature--compact .service-visual{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}[data-reveal]{opacity:1;transform:none}}
:focus-visible{outline:3px solid #d28a66;outline-offset:4px}
html:not(.js) [data-reveal],.hero-copy[data-reveal]{opacity:1;transform:none}
@media(max-width:410px){.hero h1{font-size:36px}.keep-together{white-space:nowrap}}
@media(min-width:1500px){.hero h1{font-size:82px}}
:root{--copper:#995033;--copper-dark:#75351f;--muted:#5b6862}
.proof-band .kicker,.works-section>.container>.works-heading .kicker{color:#e6b69d}
.section,.proof-band,.bottom-cta,.site-footer{content-visibility:auto;contain-intrinsic-block-size:auto 900px}
.hero::after,.bottom-cta::after{content:"サービスイメージ";position:absolute;z-index:3;top:112px;right:32px;padding:5px 9px;background:rgba(11,42,34,.72);color:#fff;font-size:10px;font-weight:700;letter-spacing:.08em}
.bottom-cta::after{top:22px}
.page-hero-image-note{z-index:3;top:112px;right:32px;bottom:auto;background:rgba(11,42,34,.72)}
@media(max-width:820px){.hero::after,.page-hero-image-note{top:84px;right:18px}.bottom-cta::after{top:14px;right:18px}}
