:root{--paper: #f4f2eb;--ink: #172833;--olive: #5e6838;--gold: #af954d;--mincho: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;--line: #1728332e;--soft-ink: #435058;--gutter: clamp(20px, 4.5vw, 64px);--title-size: clamp(2rem, 4vw, 3.75rem);--section-size: clamp(1.6rem, 2.7vw, 2.7rem);--copy-size: clamp(.95rem, 1.1vw, 1.05rem);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}html.motion-paused{scroll-behavior:auto}.motion-paused *,.motion-paused *:before,.motion-paused *:after{animation-play-state:paused!important}body{margin:0;color:var(--ink);background:var(--paper);font-size:var(--copy-size);line-height:1.9}img{display:block;max-width:100%;height:auto}video{display:block;max-width:100%}a{color:inherit;text-decoration-thickness:1px;text-underline-offset:.24em}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default}button,a{-webkit-tap-highlight-color:transparent}p{text-wrap:pretty}h1,h2,h3,.display{font-family:var(--mincho);font-weight:500;letter-spacing:.02em;line-height:1.55;text-wrap:balance;overflow-wrap:break-word}.heading-chunk,.caption-chunk{display:inline-block;max-width:100%}.copy-tail{display:inline-block;max-width:100%;text-wrap:pretty}.copy-tail-long{overflow-wrap:anywhere}.wrap{width:min(1160px,calc(100% - var(--gutter) * 2));margin-inline:auto}.section{padding:clamp(64px,7vw,96px) 0}.kicker{display:flex;align-items:center;gap:.7rem;margin:0 0 1.1rem;color:var(--olive);font-size:.75rem;font-weight:600;letter-spacing:.09em;line-height:1.7}.kicker:before{flex:0 0 2rem;height:1px;background:currentColor;content:""}.section-title{max-width:18em;margin:0;font-size:var(--section-size)}.section-lead{max-width:40em;margin:1.5rem 0 0;font-size:1rem}.btn,.btn-outline,.text-link{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:44px;font-size:.88rem;font-weight:600;line-height:1.7;text-align:center;text-decoration:none;transition:background-color .2s,color .2s}.btn{padding:.85rem 1.3rem;color:#fff;background:var(--ink);border:1px solid var(--ink)}.btn-outline{padding:.85rem 1.3rem;color:var(--ink);background:transparent;border:1px solid var(--ink)}.text-link{padding:.35rem 0;border-bottom:1px solid currentColor;justify-content:flex-start;text-align:left}.btn:hover,.btn:focus-visible{color:var(--ink);background:transparent}.btn-outline:hover,.btn-outline:focus-visible{color:#fff;background:var(--ink)}.text-link:hover,.text-link:focus-visible{color:var(--olive)}a:focus-visible,button:focus-visible{outline:2px solid var(--olive);outline-offset:4px}.skip-link{position:fixed;z-index:100;top:0;left:1rem;transform:translateY(-110%);padding:.6rem 1rem;color:#fff;background:var(--ink)}.skip-link:focus{transform:translateY(0)}.site-header{position:relative;z-index:20;background:var(--paper)}.header-inner{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.brand,.footer-brand{display:block;width:158px;flex-shrink:0}.brand-logo,.footer-logo{display:block;position:relative;width:100%;aspect-ratio:20 / 7;overflow:hidden;mix-blend-mode:multiply}.brand-logo img,.footer-logo img{position:absolute;width:100%;max-width:none;height:auto;top:0;left:0;transform:translateY(-33.3%)}.site-nav{display:flex;align-items:center;gap:1.6rem}.site-nav ul{display:flex;gap:clamp(.8rem,2vw,1.6rem);margin:0;padding:0;list-style:none}.site-nav a{display:inline-flex;min-height:44px;align-items:center;font-size:.82rem;font-weight:600;text-decoration:none;border-bottom:1px solid transparent}.site-nav ul a:hover,.site-nav ul a:focus-visible,.site-nav a[aria-current=page]{border-color:var(--ink)}.nav-contact{padding:.55rem 1rem;color:#fff;background:var(--ink)}.nav-contact:hover,.nav-contact:focus-visible{color:var(--ink);background:transparent}.menu-toggle{display:none;min-height:44px;min-width:44px;padding:.4rem;color:var(--ink);background:transparent;border:0}.site-footer{padding:3.5rem 0 1.5rem;color:var(--ink);background:var(--paper);border-top:1px solid var(--line)}.footer-grid{display:grid;grid-template-columns:1fr auto;align-items:start;gap:3rem}.site-footer p{margin:1rem 0 0;color:var(--soft-ink);font-size:.82rem;line-height:1.8}.site-footer nav{display:grid;gap:.2rem}.site-footer nav a{display:flex;align-items:center;min-height:44px;font-size:.82rem;text-decoration:none}.site-footer nav a:hover{color:var(--olive);text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:2rem;padding-top:1.25rem;border-top:1px solid var(--line);color:var(--soft-ink)}.footer-bottom small,.preview-mark{font-size:.7rem;letter-spacing:.04em}.preview-mark{padding:.1rem .45rem;border:1px solid var(--line)}.page-head{padding:clamp(48px,6vw,80px) 0 clamp(40px,5vw,64px)}.page-head h1{max-width:17em;margin:0;font-size:var(--title-size)}.page-head>p:not(.kicker){max-width:40em;margin:1.5rem 0 0;font-size:var(--copy-size);line-height:1.95}.page-head>.kicker{margin:0 0 1.15rem}.prose{max-width:43em;font-size:var(--copy-size);line-height:2}.prose h2{margin:2.5rem 0 1.2rem;font-size:var(--section-size)}.prose h3{margin:2rem 0 .75rem;font-size:1.25rem}.prose p,.prose ul,.prose ol{margin:0 0 1.4rem}.prose a:not(.btn):not(.btn-outline){color:var(--olive)}.cycle-line{display:block;overflow:visible}.cycle-line-shadow{stroke:#af954d50;stroke-width:5;stroke-linecap:round}.cycle-line-main{stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1;animation:line-draw 3.8s cubic-bezier(.5,0,.2,1) .4s forwards}.cycle-line-arrow{stroke:var(--gold);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;opacity:0;animation:arrow-show .2s ease 3.7s forwards}@keyframes line-draw{to{stroke-dashoffset:0}}@keyframes arrow-show{to{opacity:1}}.hero{padding:clamp(40px,5vw,68px) 0 clamp(64px,7vw,96px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.06fr);align-items:center;gap:clamp(32px,5vw,64px)}.hero h1{margin:0;font-size:clamp(2rem,3.7vw,3.5rem);letter-spacing:0;line-height:1.55}.hero h1 .hero-phrase{display:inline-block;white-space:nowrap}.hero h1 em{color:var(--olive);font-style:normal}.hero-lead{margin:1.7rem 0 .6rem;font-size:1rem;font-weight:600}.hero-description{max-width:28em;margin:0;font-size:1rem;line-height:1.95}.hero-description .phrase{display:inline-block}.hero-stance{margin:1rem 0 0;color:var(--soft-ink);font-size:.82rem}.hero-actions{display:grid;justify-items:start;gap:.55rem;margin-top:1.7rem}.hero-visual{min-width:0}.hero-media{position:relative;width:100%;aspect-ratio:8 / 5;overflow:hidden;background:#e5e1d5}.hero-film,.hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.hero-still{object-fit:cover;object-position:50% 42%}.hero-media-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.65rem}.hero-media-footer>span{font-size:.7rem;color:var(--soft-ink)}.motion-control{position:static;min-height:44px;padding:.35rem .1rem .35rem .7rem;border:0;border-bottom:1px solid var(--line);color:var(--ink);background:transparent;font-size:.72rem}.hero-meta{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.3rem}.hero-arrow{flex:0 0 125px;position:relative;width:125px;aspect-ratio:2.1 / 1;overflow:hidden;mix-blend-mode:multiply;opacity:.85}.hero-arrow img{position:absolute;width:100%;max-width:none;height:auto;top:50%;left:0;transform:translateY(-50%)}.hero-caption{max-width:23em;margin:0;color:var(--soft-ink);font-family:var(--mincho);font-size:.83rem;line-height:1.9;text-wrap:balance}.concerns{background:var(--ink);color:var(--paper)}.concerns .kicker{color:#d7cfaf}.concern-list{margin-top:2.6rem;border-top:1px solid #f4f2eb50}.concern{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:1.3rem;padding:1.6rem 0;border-bottom:1px solid #f4f2eb50;text-decoration:none}.concern>span{color:#d7cfaf;font-size:.75rem}.concern h3{max-width:28em;margin:0;font-size:clamp(1.1rem,1.8vw,1.55rem);line-height:1.8}.concern b,.journal-item b{font-size:1.2rem;font-weight:400}.concern:hover,.concern:focus-visible{color:#fff;background:#ffffff05}.concerns-note{max-width:42em;margin:1.8rem 0 0;color:#e0e1d8;font-size:.9rem}.whole-life{background:#fff}.whole-life-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);align-items:center;gap:clamp(32px,6vw,72px)}.whole-life-visual{min-width:0}.whole-life-image{width:100%;aspect-ratio:3 / 2;overflow:hidden}.whole-life-image img{width:100%;height:100%;object-fit:cover}.whole-life-cycle{width:170px;max-width:45%;height:auto;margin:1.5rem 0 0 auto;opacity:.8}.whole-life-copy{min-width:0}.whole-life-text{max-width:38em;margin:1.5rem 0}.whole-life-text p{margin:0 0 1.3rem}.life-base{color:var(--olive);font-weight:600}.person-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);align-items:center;gap:clamp(32px,6vw,72px)}.person-copy{max-width:34em}.person-copy>p:not(.kicker){margin:1.3rem 0 1.5rem}.person-image{margin:0}.person-image img{width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover}.person-image figcaption{margin-top:.8rem;color:var(--soft-ink);font-size:.72rem;line-height:1.7}.process{background:#e8e6db}.process-heading{max-width:43em}.process-heading>p:not(.kicker){margin:1.5rem 0 0}.process-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;margin:2.8rem 0 1.5rem;padding:0;list-style:none}.process-list li{border-top:1px solid var(--line);padding-top:1.3rem}.process-list span{color:var(--olive);font-size:.72rem;font-weight:600}.process-list h3{margin:.85rem 0 .65rem;font-size:1.13rem;line-height:1.75}.process-list p{margin:0;font-size:.85rem;line-height:1.9}.service-preview{background:var(--olive);color:#fff}.service-preview .kicker{color:#e0d8b7}.service-preview-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(32px,6vw,72px)}.service-preview-text p{margin:0 0 1.2rem}.service-preview .btn{margin-top:.7rem;color:var(--ink);background:var(--paper);border-color:var(--paper)}.service-preview .btn:hover{color:#fff;background:transparent}.journal{background:#fff}.journal-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem}.journal-heading>div{max-width:34em}.journal-heading>.text-link{flex-shrink:0}.journal-list{margin-top:2.6rem;border-top:1px solid var(--line)}.journal-item{display:grid;grid-template-columns:44px minmax(0,1fr) 28px;align-items:center;gap:1.3rem;padding:1.6rem 0;border-bottom:1px solid var(--line);text-decoration:none}.journal-item>span{color:var(--olive);font-size:.75rem}.journal-item p{margin:0 0 .5rem;color:var(--olive);font-size:.75rem}.journal-item h3{max-width:35em;margin:0;font-size:clamp(1.05rem,1.6vw,1.4rem);line-height:1.75}.journal-item:hover{color:var(--olive)}.final-cta{color:var(--paper);background:var(--ink);text-align:center}.final-cta-inner{display:flex;flex-direction:column;align-items:center}.final-cta .kicker{color:#d7cfaf}.final-cta h2{max-width:17em;margin:0;font-size:var(--section-size)}.final-cta p:not(.kicker){max-width:40em;margin:1.4rem 0 2rem;color:#e0e1d8}.final-cta .btn{color:var(--ink);background:var(--paper);border-color:var(--paper)}.final-cta .btn:hover{color:var(--paper);background:transparent}@media(max-width:1000px){.process-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}.hero-grid{gap:2rem}}@media(max-width:900px){.header-inner{min-height:76px}.brand{width:142px}.site-nav{position:absolute;top:100%;right:0;left:0;display:grid;gap:1rem;padding:1.25rem var(--gutter) 1.5rem;background:var(--paper);border-top:1px solid var(--line);box-shadow:0 12px 18px #17283315;visibility:hidden;opacity:0;transform:translateY(-.4rem);transition:opacity .2s,transform .2s,visibility .2s}.menu-open .site-nav{visibility:visible;opacity:1;transform:none}.site-nav ul{display:grid;gap:.3rem}.site-nav a{font-size:.95rem}.site-nav .nav-contact{justify-self:start}.menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:.6rem}.menu-toggle-label{font-size:.72rem;font-weight:600}.menu-icon{width:19px;display:grid;gap:5px}.menu-icon i{height:1px;width:100%;background:currentColor;transition:transform .2s}.menu-open .menu-icon i:first-child{transform:translateY(3px) rotate(45deg)}.menu-open .menu-icon i:last-child{transform:translateY(-3px) rotate(-45deg)}.hero-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.hero-copy,.hero-visual{width:100%;max-width:640px;margin-inline:auto}.hero h1{font-size:clamp(1.5rem,7.7vw,3rem)}.hero-description{max-width:34em}.whole-life-grid,.person-grid,.service-preview-grid{grid-template-columns:minmax(0,1fr);gap:2.5rem}.whole-life-copy{grid-row:1}.whole-life-visual{grid-row:2}.whole-life-image,.person-image{width:100%;max-width:640px;margin-inline:auto}.whole-life-cycle{margin-right:max(0px,calc((100% - 640px)/2))}.whole-life-copy,.person-copy,.service-preview-text{max-width:43em}.journal-heading{display:grid;align-items:start;gap:1.3rem}.journal-heading>.text-link{justify-self:start}}@media(max-width:560px){:root{--title-size: clamp(1.7rem, 7vw, 2.3rem);--section-size: clamp(1.5rem, 6.5vw, 1.9rem)}.hero{padding-top:32px}.hero-actions{justify-items:stretch}.hero-actions .text-link{justify-self:start}.hero-meta{gap:.65rem;margin-top:1rem}.hero-arrow{flex-basis:100px;width:100px}.hero-caption{font-size:.76rem}.concern,.journal-item{grid-template-columns:26px minmax(0,1fr) 18px;gap:.8rem;padding:1.4rem 0}.concern h3{font-size:1.05rem}.journal-item h3{font-size:1.02rem}.process-list{grid-template-columns:minmax(0,1fr);gap:0;margin-top:2rem}.process-list li{display:grid;grid-template-columns:28px minmax(0,1fr);column-gap:1rem;padding:1.3rem 0}.process-list h3{margin:0}.process-list p{grid-column:2;margin-top:.5rem}.footer-grid{grid-template-columns:minmax(0,1fr);gap:2rem}.final-cta .btn{width:100%}.final-cta h2{font-size:min(var(--section-size),calc((100vw - var(--gutter) * 2 - 20px) / 12.4))}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.cycle-line-main{stroke-dashoffset:0}.cycle-line-arrow{opacity:1}}@media(max-width:360px){:root{--title-size:1.5rem;--section-size:1.35rem}}
