/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}}:root{--sage:#879a7e;--sage-deep:#64785f;--sage-soft:#e8ede5;--forest:#30463a;--forest-dark:#21352b;--paper:#f7f5ef;--white:#fff;--ink:#2c332f;--muted:#68716c;--line:#d8ddd5}*{box-sizing:border-box}html{scroll-behavior:smooth;width:100%;max-width:100%;overflow-x:clip}body{background:var(--paper);width:100%;min-width:0;max-width:100%;color:var(--ink);letter-spacing:.035em;margin:0;font-family:Yu Gothic,YuGothic,Hiragino Kaku Gothic ProN,Noto Sans JP,sans-serif;overflow-x:clip}main,section,header,footer,div,article,form{min-width:0}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.sitePage{width:100%;max-width:100%;overflow-x:clip}.sitePage section{scroll-margin-top:80px}.titleLine,.sentenceLine{display:block}.sentenceLine{line-break:strict;word-break:normal;overflow-wrap:anywhere}.sentenceLine+.sentenceLine{margin-top:.18em}.siteHeader{z-index:50;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f5efeb;border-bottom:1px solid #64785f29;grid-template-columns:minmax(230px,1fr) auto minmax(130px,1fr);align-items:center;gap:clamp(24px,3vw,46px);height:80px;padding:0 clamp(22px,5vw,72px);display:grid;position:sticky;top:0}.brand{width:270px;max-width:100%}.brandCrop{width:270px;max-width:100%;height:64px;display:block;overflow:hidden}.brandCrop img{object-fit:cover;width:270px;max-width:none;height:131px;transform:translateY(-33px)}.siteHeader nav{letter-spacing:.08em;gap:clamp(22px,2.6vw,42px);font-size:12px;font-weight:700;display:flex}.siteHeader nav a{padding:12px 0;position:relative}.siteHeader nav a:after{content:"";background:var(--sage-deep);transform-origin:100%;height:1px;transition:transform .22s;position:absolute;bottom:6px;left:0;right:0;transform:scaleX(0)}.siteHeader nav a:hover:after,.siteHeader nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.headerContact{border:1px solid var(--forest);color:var(--white);background:var(--forest);border-radius:999px;justify-self:end;padding:12px 21px;font-size:12px;font-weight:700;transition:color .2s,background .2s}.headerContact:hover,.headerContact:focus-visible{color:var(--forest);background:0 0}.hero{background:linear-gradient(90deg,#ffffffb8 0%,#ffffff38 58%,#0000 100%),linear-gradient(135deg,#fbfaf6 0%,#f1f3ec 62%,#e2e9df 100%);min-height:calc(100svh - 80px);padding:clamp(90px,12vh,130px) clamp(22px,7vw,110px) 0;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(#0000,#64785f29,#0000);width:1px;position:absolute;top:0;bottom:0;left:7vw}.heroAura{border:1px solid #64785f24;border-radius:48% 52% 45% 55%;width:900px;height:900px;position:absolute;top:-390px;right:-260px;transform:rotate(24deg)}.heroAura:after{content:"";border:1px solid #64785f1a;border-radius:50%;position:absolute;inset:90px}.heroInner{z-index:2;grid-template-columns:minmax(0,1.04fr) minmax(360px,.96fr);align-items:center;gap:clamp(40px,6vw,94px);max-width:1280px;margin:0 auto;display:grid;position:relative}.eyebrow,.sectionKicker{color:var(--sage-deep);letter-spacing:.24em;margin:0;font-family:Georgia,serif;font-size:11px;font-weight:700}.heroCopy h1{max-width:9em;color:var(--forest);letter-spacing:.045em;line-break:strict;text-wrap:balance;word-break:normal;margin:24px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(48px,5.25vw,78px);font-weight:500;line-height:1.38}.heroLead{color:#48544d;letter-spacing:.055em;max-width:35em;margin:34px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(17px,1.45vw,21px);line-height:2}.heroDescription{max-width:45em;color:var(--muted);margin:20px 0 0;font-size:14px;line-height:2}.heroActions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.button{text-align:center;border-radius:999px;min-width:166px;padding:15px 23px;font-size:13px;font-weight:700;transition:transform .18s,box-shadow .18s}.button:hover,.button:focus-visible{transform:translateY(-2px);box-shadow:0 14px 32px #30463a24}.buttonPrimary{color:var(--white);background:var(--forest)}.buttonGhost{color:var(--forest);background:#ffffff6b;border:1px solid #30463a61}.heroVisual{aspect-ratio:1;justify-self:end;place-items:center;width:min(43vw,520px);max-width:100%;display:grid;position:relative}.heroOrbit{border:1px solid #64785f5e;border-radius:48% 52% 46% 54%;position:absolute}.heroOrbitOuter{inset:2%;transform:rotate(-18deg)}.heroOrbitInner{border-color:#879a7e3d;inset:12% 4% 8% 16%;transform:rotate(42deg)}.heroLogoMark{aspect-ratio:1;background:#fbfaf6d1;border:1px solid #64785f1f;border-radius:50%;width:58%;position:relative;overflow:hidden;box-shadow:0 28px 80px #30463a21}.heroLogoMark img{mix-blend-mode:multiply;width:auto;max-width:none;height:205%;position:absolute;top:-53%;left:-62%}.heroWord{color:#30463a8f;letter-spacing:.25em;font-family:Georgia,serif;font-size:9px;position:absolute}.heroWordOne{top:12%;left:8%;transform:rotate(-14deg)}.heroWordTwo{top:31%;right:-1%;transform:rotate(10deg)}.heroWordThree{bottom:10%;right:7%;transform:rotate(-18deg)}.heroFoundation{z-index:2;max-width:1280px;min-height:78px;color:var(--forest);letter-spacing:.22em;border-top:1px solid #64785f33;align-items:center;gap:22px;margin:clamp(70px,10vh,110px) auto 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:13px;display:flex;position:relative}.heroFoundation i{background:var(--line);width:32px;height:1px}.contentSection{max-width:1280px;margin:0 auto;padding:clamp(100px,11vw,150px) clamp(22px,5vw,64px)}.sectionIndex{color:#8a958d;align-items:center;gap:13px;font-family:Georgia,serif;display:flex}.sectionIndex span{color:var(--sage-deep);font-size:13px}.sectionIndex p{letter-spacing:.24em;margin:0;font-size:9px;font-weight:700}.sectionIndexLight{color:#e6ede494}.sectionIndexLight span{color:#c9d5c6}.purpose{grid-template-columns:130px minmax(280px,.9fr) minmax(320px,1.1fr);align-items:start;gap:clamp(38px,5vw,78px);display:grid}.purposeHeading h2,.servicesHeading h2,.messageMain h2,.contactIntro h2{letter-spacing:.06em;line-break:strict;text-wrap:balance;margin:22px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-weight:500;line-height:1.6}.purposeHeading h2{max-width:11em;color:var(--forest);font-size:clamp(34px,3.2vw,48px)}.purposeBody{padding-top:31px}.purposeBody>p{color:var(--muted);margin:0 0 24px;font-size:15px;line-height:2.2}.purposePromise{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);margin-top:42px;display:grid}.purposePromise span{color:var(--sage-deep);text-align:center;letter-spacing:.16em;padding:16px 6px;font-family:Yu Mincho,serif}.purposePromise span+span{border-left:1px solid var(--line)}.philosophy{color:var(--white);background:linear-gradient(135deg,var(--forest-dark),#3f5848);padding:clamp(100px,11vw,150px) clamp(22px,7vw,108px);position:relative;overflow:hidden}.philosophyRing{border:1px solid #ffffff14;border-radius:45% 55% 48% 52%;width:900px;height:900px;position:absolute;top:-440px;right:-160px;transform:rotate(33deg)}.philosophyRing:after{content:"";border:1px solid #ffffff0d;border-radius:50%;position:absolute;inset:100px -40px 70px 70px}.philosophyInner{z-index:1;max-width:1150px;margin:0 auto;position:relative}.philosophyTitle{margin-top:55px}.sectionKickerLight{color:#c6d4c4}.philosophyTitle h2{letter-spacing:.07em;margin:22px 0 0;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(40px,4.5vw,66px);font-weight:500;line-height:1.55}.philosophyCards{border-top:1px solid #ffffff29;border-left:1px solid #ffffff29;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:76px;display:grid}.philosophyCard{background:#ffffff06;border-bottom:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:320px;padding:clamp(34px,4.5vw,58px)}.philosophyCardLead{color:var(--ink);background:var(--paper)}.cardMeta{align-items:baseline;gap:13px;display:flex}.cardMeta span{color:#b8c7b6;letter-spacing:.06em;font-family:Georgia,serif;font-size:20px}.philosophyCardLead .cardMeta span{color:var(--sage-deep)}.cardMeta em{color:#9eada0;letter-spacing:.16em;font-size:10px;font-style:normal}.philosophyCard h3{letter-spacing:.06em;margin:34px 0 20px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.55}.philosophyCard>p{color:#dce6da;margin:0;font-size:14px;line-height:2.05}.philosophyCardLead>p{color:var(--muted)}.valueCard{grid-column:1/-1;min-height:auto}.valueCard ol{grid-template-columns:repeat(5,minmax(0,1fr));margin:38px 0 0;padding:0;list-style:none;display:grid}.valueCard li{min-width:0;padding:4px clamp(14px,2vw,26px)}.valueCard li:first-child{padding-left:0}.valueCard li+li{border-left:1px solid #ffffff24}.valueCard li>span{color:#9eb19d;font-family:Georgia,serif;font-size:11px}.valueCard li p{color:#eef3ed;margin:14px 0 0;font-family:Yu Mincho,serif;font-size:14px;line-height:1.8}.services{grid-template-columns:130px minmax(0,1fr);gap:0 clamp(38px,5vw,78px);display:grid}.servicesHeading{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:50px;display:grid}.servicesHeading h2{color:var(--forest);font-size:clamp(38px,4.2vw,58px)}.servicesHeading>p{max-width:32em;color:var(--muted);margin:0 0 9px;font-size:14px;line-height:2}.serviceGrid{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:74px;display:grid}.serviceCard{border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:#ffffff6b;min-height:370px;padding:clamp(34px,4vw,52px);transition:color .24s,background .24s,transform .24s;position:relative;overflow:hidden}.serviceCard:hover{color:var(--white);background:var(--forest);transform:translateY(-3px)}.serviceNumber{color:#97a397;font-family:Georgia,serif;font-size:12px}.serviceIcon{border:1px solid #64785f3d;border-radius:50%;width:70px;height:70px;transition:border-color .24s,transform .24s;position:absolute;top:43px;right:43px}.serviceCard:hover .serviceIcon{border-color:#ffffff42;transform:rotate(12deg)}.serviceIcon span,.serviceIcon:before,.serviceIcon:after{content:"";border-color:var(--sage-deep);transition:border-color .24s,background .24s;display:block;position:absolute}.serviceIcon1 span{border:1px solid var(--sage-deep);height:30px;bottom:17px;left:20px;right:20px}.serviceIcon1:before{border-top:1px solid var(--sage-deep);border-left:1px solid var(--sage-deep);width:38px;height:38px;top:17px;left:16px;transform:rotate(45deg)}.serviceIcon2 span{border:1px solid var(--sage-deep);border-radius:4px;inset:18px}.serviceIcon2:after{border-right:1px solid var(--sage-deep);border-bottom:1px solid var(--sage-deep);width:16px;height:16px;top:28px;left:27px}.serviceIcon3 span{border-bottom:1px solid var(--sage-deep);height:28px;bottom:20px;left:17px;right:17px}.serviceIcon3:before{border-top:1px solid var(--sage-deep);border-right:1px solid var(--sage-deep);width:12px;height:26px;bottom:22px;right:22px;transform:rotate(-35deg)}.serviceIcon3:after{border:1px solid var(--sage-deep);border-radius:50%;width:7px;height:7px;bottom:41px;right:16px}.serviceIcon4 span{border:1px solid var(--sage-deep);border-radius:18px 18px 4px 4px;width:28px;height:36px;top:17px;left:21px}.serviceIcon4:before{background:var(--sage-deep);width:16px;height:1px;top:28px;left:27px}.serviceIcon4:after{background:var(--sage-deep);width:12px;height:1px;top:35px;left:27px}.serviceCard:hover .serviceIcon span,.serviceCard:hover .serviceIcon:before,.serviceCard:hover .serviceIcon:after{border-color:#d8e3d6}.serviceCard:hover .serviceIcon3:after,.serviceCard:hover .serviceIcon4:before,.serviceCard:hover .serviceIcon4:after{background:#d8e3d6}.serviceCard h3{max-width:13em;color:var(--forest);margin:104px 0 18px;font-family:Yu Mincho,Hiragino Mincho ProN,serif;font-size:clamp(22px,2vw,28px);font-weight:500;line-height:1.6;transition:color .24s}.serviceCard:hover h3{color:var(--white)}.serviceCard>p{max-width:35em;color:var(--muted);margin:0;font-size:14px;line-height:2;transition:color .24s}.serviceCard:hover>p{color:#dbe4d9}.serviceLine{background:var(--sage);transform-origin:0;height:3px;transition:transform .26s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.serviceCard:hover .serviceLine{transform:scaleX(1)}.message{background:linear-gradient(90deg,#e8ede5fa,#f7f5effa),var(--sage-soft);padding:clamp(100px,11vw,150px) clamp(22px,7vw,108px)}.messageInner{grid-template-columns:minmax(190px,.44fr) minmax(0,1fr);gap:clamp(60px,9vw,130px);max-width:1150px;margin:0 auto;display:grid}.messageAside{border-right:1px solid #64785f38;flex-direction:column;justify-content:space-between;display:flex}.messageEnglish{color:#9aa69a;letter-spacing:.08em;margin:80px 36px 0 0;font-family:Georgia,serif;font-size:13px;font-style:italic;line-height:2}.messageMain h2{max-width:13em;color:var(--forest);font-size:clamp(36px,4vw,56px)}.messageText{max-width:46em;margin-top:42px}.messageText p{color:var(--muted);margin:0 0 22px;font-size:15px;line-height:2.2}.representative{color:var(--forest);text-align:right;letter-spacing:.12em;margin:44px 0 0;font-family:Yu Mincho,serif;font-size:16px}.company{grid-template-columns:130px minmax(0,1fr);gap:0 clamp(38px,5vw,78px);display:grid}.companyHeading h2{color:var(--forest);letter-spacing:.025em;margin:18px 0 0;font-family:Georgia,serif;font-size:clamp(40px,4.5vw,62px);font-weight:400}.companyTable{border-top:1px solid var(--line);grid-column:2;margin:72px 0 0}.companyTable>div{border-bottom:1px solid var(--line);grid-template-columns:190px minmax(0,1fr);gap:30px;padding:24px 0;display:grid}.companyTable dt{color:#7c877f;font-size:13px}.companyTable dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;line-height:1.9}.companyTable ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.companyTable li:before{content:"—";color:var(--sage);margin-right:10px}.companyTable a{color:var(--sage-deep);text-underline-offset:4px;text-decoration:underline}.contact{color:var(--white);background:radial-gradient(circle at 12% 18%,#879a7e2e,transparent 32%),var(--forest-dark);padding:clamp(100px,11vw,150px) clamp(22px,7vw,108px)}.contactInner{grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr);align-items:start;gap:clamp(60px,9vw,130px);max-width:1150px;margin:0 auto;display:grid}.contactIntro .sectionKicker{margin-top:62px}.contactIntro h2{font-size:clamp(38px,4.2vw,58px)}.contactIntro>p:not(.sectionKicker){color:#cbd7c9;margin:34px 0 0;font-size:14px;line-height:2.05}.emailLink{border-block:1px solid #ffffff2e;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:46px;padding:20px 0;display:grid}.emailLink span{color:#9eb09e;letter-spacing:.18em;font-family:Georgia,serif;font-size:10px}.emailLink strong{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:500}.emailLink i{font-size:18px;font-style:normal}.contactIntro small{color:#9aa99a;margin-top:24px;font-size:11px;line-height:1.8;display:block}.contactForm{color:var(--ink);background:var(--paper);gap:23px;padding:clamp(30px,4vw,48px);display:grid}.contactForm label{gap:9px;display:grid}.contactForm label>span{color:#59635d;font-size:12px;font-weight:700}.contactForm input,.contactForm textarea{width:100%;min-width:0;color:var(--ink);resize:vertical;border:0;background:0 0;border-bottom:1px solid #cdd4cb;border-radius:0;outline:none;padding:13px 3px}.contactForm input:focus,.contactForm textarea:focus{border-color:var(--sage-deep);box-shadow:0 2px #64785f1f}.contactForm button{width:100%;color:var(--white);background:var(--forest);cursor:pointer;border:0;justify-content:space-between;align-items:center;padding:16px 20px;font-size:13px;font-weight:700;display:flex}.contactForm button:hover,.contactForm button:focus-visible{background:var(--sage-deep)}.contactForm button i{font-size:17px;font-style:normal}.contactForm>p{color:#818983;margin:-10px 0 0;font-size:10px;line-height:1.7}footer{color:#becabe;background:#18271f;grid-template-columns:minmax(230px,1fr) auto;align-items:end;gap:28px;min-height:230px;padding:52px clamp(22px,7vw,108px);display:grid}.footerBrand{width:265px}.footerLogoCrop{filter:grayscale()brightness(2.4);opacity:.72;width:265px;height:72px;display:block;overflow:hidden}.footerLogoCrop img{object-fit:cover;mix-blend-mode:screen;width:265px;max-width:none;height:129px;transform:translateY(-29px)}footer>p{letter-spacing:.16em;align-self:center;margin:0;font-family:Yu Mincho,serif;font-size:17px}.footerMeta{color:#7e8d81;border-top:1px solid #ffffff14;grid-column:1/-1;justify-content:space-between;align-items:center;gap:25px;padding-top:25px;font-size:10px;display:flex}.footerMeta a{overflow-wrap:anywhere}@media (width<=1080px){.siteHeader{grid-template-columns:minmax(220px,1fr) auto}.siteHeader nav{display:none}.heroInner{grid-template-columns:minmax(0,1fr) minmax(320px,.72fr)}.heroVisual{width:min(41vw,430px)}.valueCard ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}.valueCard li:nth-child(4){border-left:0;padding-left:0}}@media (width<=880px){.hero{min-height:auto;padding-top:110px}.heroInner{grid-template-columns:1fr}.heroCopy{z-index:2;max-width:680px;position:relative}.heroVisual{z-index:0;opacity:.2;pointer-events:none;width:480px;position:absolute;top:-58px;right:-130px}.purpose,.services,.company{grid-template-columns:1fr}.purpose{gap:40px}.purposeBody{padding-top:0}.servicesHeading{margin-top:40px}.serviceGrid,.companyTable{grid-column:1}.messageInner{grid-template-columns:1fr;gap:48px}.messageAside{border-right:0}.messageEnglish{display:none}.contactInner{grid-template-columns:1fr}}@media (width<=680px){body{letter-spacing:.02em}.sitePage section{scroll-margin-top:68px}.siteHeader{grid-template-columns:minmax(0,1fr) auto;gap:10px;height:68px;padding:0 16px}.brand,.brandCrop{width:min(182px,49vw)}.brandCrop{height:50px}.brandCrop img{width:182px;height:88px;transform:translateY(-19px)}.headerContact{padding:9px 11px;font-size:10px}.hero{padding:86px 20px 0}.hero:before{left:20px}.heroAura{width:560px;height:560px;top:-180px;right:-270px}.heroVisual{opacity:.12;width:390px;top:-30px;right:-170px}.eyebrow{letter-spacing:.18em;font-size:9px}.heroCopy h1{letter-spacing:.03em;width:100%;max-width:9em;margin-top:20px;font-size:clamp(38px,11.5vw,47px);line-height:1.42}.heroLead{margin-top:28px;font-size:17px;line-height:1.9}.heroDescription{margin-top:17px;font-size:13px;line-height:1.95}.heroActions{gap:9px;margin-top:30px}.button{flex:142px;min-width:0;padding:14px 15px;font-size:12px}.heroFoundation{letter-spacing:.1em;justify-content:center;gap:10px;min-height:70px;margin-top:70px;font-size:11px}.heroFoundation i{width:14px}.contentSection,.philosophy,.message,.contact{padding:92px 20px}.sectionIndex{gap:10px}.purpose{gap:34px}.purposeHeading h2{max-width:none;margin-top:16px;font-size:34px;line-height:1.55}.purposeBody>p{margin-bottom:20px;font-size:14px;line-height:2.05}.purposePromise{margin-top:32px}.purposePromise span{letter-spacing:.08em;padding:14px 4px;font-size:13px}.philosophyTitle{margin-top:42px}.philosophyTitle h2{margin-top:17px;font-size:36px;line-height:1.5}.philosophyCards{grid-template-columns:1fr;margin-top:54px}.philosophyCard,.valueCard{grid-column:1;min-height:auto;padding:33px 25px}.philosophyCard h3{margin-top:28px;font-size:26px}.philosophyCard>p{font-size:13px;line-height:2}.valueCard ol{grid-template-columns:1fr;row-gap:0;margin-top:28px}.valueCard li,.valueCard li:first-child,.valueCard li:nth-child(4){border-bottom:1px solid #ffffff1f;border-left:0;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:15px 0;display:grid}.valueCard li p{margin:0;font-size:13px}.servicesHeading{grid-template-columns:1fr;gap:22px;margin-top:38px}.servicesHeading h2{margin-top:17px;font-size:36px;line-height:1.5}.servicesHeading>p{font-size:13px;line-height:1.9}.serviceGrid{grid-template-columns:1fr;margin-top:48px}.serviceCard{min-height:320px;padding:32px 25px}.serviceIcon{transform-origin:100% 0;top:29px;right:24px;transform:scale(.84)}.serviceCard:hover .serviceIcon{transform:scale(.84)rotate(12deg)}.serviceCard h3{margin-top:91px;font-size:24px}.serviceCard>p{font-size:13px;line-height:1.9}.messageInner{gap:38px}.messageMain h2{margin-top:17px;font-size:35px;line-height:1.55}.messageText{margin-top:32px}.messageText p{font-size:14px;line-height:2.05}.representative{margin-top:34px;font-size:14px}.companyHeading{margin-top:38px}.companyHeading h2{margin-top:14px;font-size:38px}.companyTable{margin-top:46px}.companyTable>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.companyTable dd{font-size:13px}.contactIntro .sectionKicker{margin-top:42px}.contactIntro h2{margin-top:17px;font-size:36px;line-height:1.5}.contactIntro>p:not(.sectionKicker){margin-top:27px;font-size:13px}.emailLink{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;margin-top:34px}.emailLink strong{font-size:13px}.contactForm{padding:28px 21px}footer{grid-template-columns:1fr;align-items:start;min-height:250px;padding:48px 20px 34px}.footerBrand,.footerLogoCrop{width:230px}.footerLogoCrop{height:62px}.footerLogoCrop img{width:230px;height:112px;transform:translateY(-25px)}footer>p{margin-top:8px;font-size:15px}.footerMeta{flex-direction:column;grid-column:1;align-items:flex-start;gap:11px}}@media (width<=400px){.heroActions{flex-direction:column}.button{flex-basis:auto;width:100%}.heroCopy h1{font-size:38px}.heroFoundation{font-size:10px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.adminPage{min-height:100vh;color:var(--ink);background:#eef1ec}.adminHeader{background:var(--forest);min-height:96px;color:var(--white);justify-content:space-between;align-items:center;gap:30px;padding:20px clamp(24px,5vw,72px);display:flex}.adminHeader p{color:#c7d3c5;letter-spacing:.28em;margin:0 0 5px;font-family:Georgia,serif;font-size:10px}.adminHeader h1{margin:0;font-family:Yu Mincho,serif;font-size:28px;font-weight:500}.adminHeaderActions{align-items:center;gap:20px;font-size:13px;display:flex}.adminHeaderActions span{color:#dce4da}.adminHeaderActions a{border:1px solid #ffffff59;border-radius:999px;padding:11px 17px}.adminLayout{grid-template-columns:190px minmax(0,1fr);gap:34px;max-width:1440px;margin:0 auto;padding:42px clamp(20px,4vw,58px) 130px;display:grid}.adminNav{border:1px solid var(--line);background:var(--white);border-radius:12px;align-self:start;gap:4px;padding:23px;display:grid;position:sticky;top:20px}.adminNav p{color:#8b968d;letter-spacing:.18em;margin:0 0 12px;font-size:11px;font-weight:700}.adminNav a{color:#536158;border-radius:6px;padding:9px 10px;font-size:13px}.adminNav a:hover{color:var(--forest);background:var(--sage-soft)}.adminSections{gap:24px;display:grid}.adminPanel{border:1px solid var(--line);background:var(--white);border-radius:12px;padding:34px;scroll-margin-top:24px;box-shadow:0 12px 38px #30463a0d}.adminPanelHead{border-bottom:1px solid #e4e8e2;gap:17px;margin-bottom:26px;padding-bottom:24px;display:flex}.adminPanelHead>span{color:#95a391;padding-top:4px;font-family:Georgia,serif;font-size:12px}.adminPanelHead h2{color:var(--forest);margin:0 0 6px;font-family:Yu Mincho,serif;font-size:24px;font-weight:500}.adminPanelHead p{color:#78817b;margin:0;font-size:12px}.adminFields{gap:20px;display:grid}.adminFields.two{grid-template-columns:repeat(2,minmax(0,1fr))}.adminField{gap:8px;display:grid}.adminField>span{color:#58645b;font-size:12px;font-weight:700}.adminField input,.adminField textarea{width:100%;min-width:0;color:var(--ink);resize:vertical;background:#fbfcfa;border:1px solid #ced6cc;border-radius:7px;outline:none;padding:13px 14px;font-size:14px;line-height:1.7}.adminField input:focus,.adminField textarea:focus{border-color:var(--sage);background:var(--white);box-shadow:0 0 0 3px #879a7e24}.adminCardGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.adminCard{background:#f9faf7;border:1px solid #d9e0d7;border-radius:9px;gap:16px;min-width:0;margin:0;padding:20px;display:grid}.adminCard legend{color:var(--sage-deep);padding:0 8px;font-size:12px;font-weight:700}.adminSaveBar{z-index:60;border-top:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff0;justify-content:flex-end;align-items:center;gap:24px;min-height:76px;padding:14px clamp(24px,5vw,72px);display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #2c332f14}.saveMessage{color:#737d76;margin-right:auto;font-size:13px}.saveMessage.saved{color:#426d4d;font-weight:700}.saveMessage.error{color:#a14747;font-weight:700}.adminSaveBar button{min-width:190px;color:var(--white);background:var(--forest);cursor:pointer;border:0;border-radius:999px;padding:14px 24px;font-weight:700}.adminSaveBar button:disabled{cursor:wait;opacity:.6}@media (width<=900px){.adminLayout{grid-template-columns:1fr}.adminNav{grid-template-columns:repeat(4,1fr);position:static}.adminNav p{grid-column:1/-1}}@media (width<=680px){.adminHeader{align-items:flex-start}.adminHeaderActions span{display:none}.adminLayout{padding:22px 14px 120px}.adminNav{white-space:nowrap;display:flex;overflow-x:auto}.adminNav p{display:none}.adminPanel{padding:23px 17px}.adminFields.two,.adminCardGrid{grid-template-columns:1fr}.adminSaveBar{flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px}.saveMessage{text-align:center;margin:0;font-size:11px}.adminSaveBar button{width:100%}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}.sitePage{--brand-sage:#82967a;--brand-sage-deep:#5f755d;--brand-forest:#233a2e;--brand-forest-dark:#17291f;--brand-paper:#f7f6f1;--brand-ink:#29312c;--brand-muted:#667069;--brand-line:#30463a29;background:var(--brand-paper);width:100%;max-width:100%;color:var(--brand-ink);overflow:clip}.sitePage img{max-width:100%;display:block}.sitePage :is(h1,h2,h3,p,li,dd,dt,small,strong){line-break:strict;word-break:normal;overflow-wrap:break-word}.sitePage .titleLine{display:inline}.sitePage .titlePhrase,.sitePage .noBreakPhrase{white-space:nowrap;word-break:keep-all;overflow-wrap:normal}.sitePage .sentenceLine{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty;width:fit-content;max-width:100%;display:block}.sitePage .sentenceLine+.sentenceLine{margin-top:.28em}.sitePage .addressLine{white-space:nowrap}.sitePage .addressSeparator{display:inline}.scrollProgress{z-index:100;pointer-events:none;height:2px;position:fixed;top:0;left:0;right:0}.scrollProgress span{background:var(--brand-sage);transform-origin:0;width:100%;height:100%;display:block;transform:scaleX(0)}.sitePage .siteHeader{z-index:80;-webkit-backdrop-filter:blur(20px)saturate(120%);backdrop-filter:blur(20px)saturate(120%);background:#f7f6f1bd;border-bottom:1px solid #30463a14;grid-template-columns:minmax(230px,1fr) auto minmax(132px,1fr);align-items:center;gap:clamp(24px,3vw,48px);height:82px;padding:0 clamp(24px,4.4vw,72px);transition:height .35s,background .35s,box-shadow .35s;display:grid;position:fixed;top:0;left:0;right:0}.sitePage .siteHeader.is-scrolled{background:#f7f6f1f0;height:70px;box-shadow:0 12px 36px #17291f0f}.sitePage .brand{width:250px;max-width:100%}.sitePage .brandCrop{align-items:center;width:250px;max-width:100%;height:62px;display:flex;overflow:visible}.sitePage .brandCrop img{object-fit:contain;width:170px;max-width:100%;height:auto;transform:none}.sitePage .siteHeader nav{letter-spacing:.09em;gap:clamp(22px,2.5vw,42px);font-size:12px;font-weight:700;display:flex}.sitePage .siteHeader nav a{padding:15px 0;position:relative}.sitePage .siteHeader nav a:after{content:"";background:var(--brand-sage-deep);transform-origin:100%;height:1px;transition:transform .28s;position:absolute;bottom:8px;left:0;right:0;transform:scaleX(0)}.sitePage .siteHeader nav a:hover:after,.sitePage .siteHeader nav a:focus-visible:after{transform-origin:0;transform:scaleX(1)}.sitePage .headerContact{border:1px solid var(--brand-forest);color:#fff;background:var(--brand-forest);border-radius:999px;justify-self:end;padding:12px 21px;font-size:12px;font-weight:700;transition:color .25s,background .25s,transform .25s}.sitePage .headerContact:hover,.sitePage .headerContact:focus-visible{color:var(--brand-forest);background:#f7f6f1db;transform:translateY(-1px)}.sitePage .hero{isolation:isolate;background:#f3f2eb;height:max(800px,100svh);min-height:800px;padding:82px clamp(24px,6vw,104px) 0;position:relative;overflow:hidden}.sitePage .heroMedia{z-index:-3;position:absolute;inset:0;overflow:hidden}.sitePage .heroMedia:after{content:"";z-index:3;opacity:.14;background:radial-gradient(circle at 76% 69%,#7e977657,#0000 42%);animation:6.2s ease-in-out infinite heroHeartbeat;position:absolute;inset:-8%;transform:scale(.96)}.sitePage .heroMedia .heroFallbackImage,.sitePage .heroMedia .heroVideo{object-fit:cover;object-position:center;width:100%;height:100%;position:absolute;inset:0}.sitePage .heroMedia .heroFallbackImage{z-index:0}.sitePage .heroMedia .heroVideo{z-index:1;animation:1.4s both heroVideoIn}.sitePage .heroMediaShade{z-index:4;background:linear-gradient(#0000 64%,#e8eee240 83%,#e8eee2f5 100%),linear-gradient(90deg,#f7f6f1fe 0%,#f7f6f1fb 38%,#f7f6f1db 52%,#f7f6f152 70%,#f7f6f10f 100%);position:absolute;inset:0}.sitePage .heroPulse{z-index:1;aspect-ratio:1;pointer-events:none;width:min(76vw,1080px);position:absolute;bottom:-38%;right:-10%}.sitePage .heroPulse span{opacity:0;border:1px solid #233a2e2e;border-radius:50%;animation:8.4s cubic-bezier(.22,.68,.3,1) infinite pulseWave;position:absolute;inset:18%;transform:scale(.62)}.sitePage .heroPulse span:nth-child(2){animation-delay:2.8s}.sitePage .heroPulse span:nth-child(3){animation-delay:5.6s}.sitePage .hero:before{content:"";z-index:-1;background:linear-gradient(#0000,#30463a33,#0000);width:1px;position:absolute;top:82px;bottom:0;left:clamp(24px,6vw,104px)}.sitePage .heroInner{z-index:2;align-items:center;max-width:1320px;min-height:calc(100% - 110px);margin:0 auto;display:flex;position:relative}.sitePage .heroCopy{max-width:1100px;padding:clamp(54px,8vh,96px) 0 110px;animation:1.1s cubic-bezier(.2,.72,.2,1) both heroCopyIn}.sitePage .eyebrow,.sitePage .sectionKicker{color:var(--brand-sage-deep);letter-spacing:.25em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:11px;font-weight:700}.sitePage .heroCopy h1{max-width:13em;color:var(--brand-forest-dark);letter-spacing:.055em;text-shadow:0 1px #fffffff0,0 5px 22px #f7f6f1d1;text-wrap:balance;margin:28px 0 0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(54px,5.35vw,80px);font-weight:600;line-height:1.34}.sitePage .heroCopy h1 .titleLine{white-space:normal}.sitePage .heroLead{color:#26382e;letter-spacing:.035em;text-shadow:0 1px #fffffff0,0 4px 16px #f7f6f1cc;max-width:62em;margin:36px 0 0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:clamp(17px,1.35vw,20px);font-weight:600;line-height:2.05}.sitePage .heroDescription{color:#445047;letter-spacing:.025em;text-shadow:0 1px #fffffff5,0 3px 14px #f7f6f1c7;max-width:72em;margin:19px 0 0;font-family:Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;font-size:14px;font-weight:500;line-height:2.05}.sitePage .heroActions{flex-wrap:wrap;gap:12px;margin-top:38px;display:flex}.sitePage .button{text-align:center;border-radius:999px;min-width:174px;padding:15px 24px;font-size:13px;font-weight:700;transition:transform .25s,box-shadow .25s,background .25s}.sitePage .button:hover,.sitePage .button:focus-visible{transform:translateY(-3px);box-shadow:0 16px 34px #233a2e29}.sitePage .buttonPrimary{color:#fff;background:var(--brand-forest)}.sitePage .buttonGhost{color:var(--brand-forest);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffff80;border:1px solid #233a2e61}.sitePage .heroFoundation{z-index:3;max-width:none;min-height:76px;color:var(--brand-forest);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);letter-spacing:.2em;text-shadow:none;background:#eff3ebd6;border:1px solid #384f411f;border-bottom:0;align-items:center;gap:22px;margin:0 auto;padding:0 clamp(22px,3vw,44px);font-family:Yu Mincho,YuMincho,serif;font-size:13px;display:flex;position:absolute;bottom:0;left:clamp(24px,6vw,104px);right:clamp(24px,6vw,104px);box-shadow:0 -18px 45px #233a2e0f}.sitePage .heroFoundation i{background:#233a2e47;width:34px;height:1px}.sitePage .contentSection{max-width:1320px;margin:0 auto;padding:clamp(112px,11vw,168px) clamp(24px,5vw,68px)}.sitePage .sectionIndex{color:#869087;align-items:center;gap:13px;font-family:Georgia,Times New Roman,serif;display:flex}.sitePage .sectionIndex span{color:var(--brand-sage-deep);font-size:13px}.sitePage .sectionIndex p{letter-spacing:.25em;margin:0;font-size:9px;font-weight:700}.sitePage .sectionIndexLight{color:#e6ede494}.sitePage .sectionIndexLight span{color:#c9d5c6}.sitePage .purposeBackdrop{background:linear-gradient(180deg, #e8eee3 0, var(--brand-paper) 230px, var(--brand-paper) 100%);position:relative;overflow:hidden}.sitePage .purposeBackdrop:before{content:"";opacity:.11;filter:saturate(.55)contrast(.82);pointer-events:none;background:url(/kamiura-abstract-hero-v3.webp) 50% 76%/cover no-repeat;height:300px;position:absolute;top:-34px;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0%,#0000007a 38%,#0000 100%);mask-image:linear-gradient(#000 0%,#0000007a 38%,#0000 100%)}.sitePage .purpose{z-index:1;grid-template-columns:minmax(320px,.82fr) minmax(360px,1.18fr);grid-template-areas:"index index""media heading""media body";align-items:start;gap:42px clamp(62px,8vw,118px);display:grid;position:relative}.sitePage .purpose>.sectionIndex{grid-area:index}.sitePage .purposeMedia{grid-area:media;position:relative}.sitePage .purposeHeading{grid-area:heading;padding-top:38px}.sitePage .purposeBody{grid-area:body}.sitePage .purposeGraphic{aspect-ratio:4/5;color:#edf3eb;background:radial-gradient(circle at 78% 18%,#cedbc933,#0000 26%),linear-gradient(152deg,#263c30 0%,#5f755d 56%,#91a188 100%);padding:clamp(28px,4vw,54px);position:relative;overflow:hidden;box-shadow:0 30px 70px #233a2e21}.sitePage .purposeGraphic:before{content:"";aspect-ratio:1;border:1px solid #ffffff29;border-radius:50%;width:90%;animation:30s linear infinite orbitTurn;position:absolute;top:-18%;right:-26%}.sitePage .purposeGraphic:after{content:"";background:linear-gradient(#0000,#ffffff75,#0000);width:1px;height:82%;position:absolute;bottom:-16%;right:11%;transform:rotate(34deg)}.sitePage .purposeGraphicLabel{color:#ffffff85;letter-spacing:.32em;writing-mode:vertical-rl;font-family:Georgia,Times New Roman,serif;font-size:10px;position:absolute;top:42px;right:34px}.sitePage .purposeGraphicArc{border:1px solid #fff3;border-radius:50%;position:absolute}.sitePage .purposeGraphicArcOne{aspect-ratio:1;width:82%;animation:24s linear infinite orbitTurnReverse;top:14%;left:-22%}.sitePage .purposeGraphicArcTwo{aspect-ratio:1;border-color:#ffffff1f;width:58%;top:33%;left:7%}.sitePage .purposeGraphicWords{z-index:2;display:grid;position:absolute;bottom:clamp(28px,4vw,54px);left:clamp(28px,4vw,54px);right:clamp(28px,4vw,54px)}.sitePage .purposeGraphicWords>span{letter-spacing:.14em;border-bottom:1px solid #ffffff2e;grid-template-columns:34px 1fr;align-items:baseline;gap:16px;padding:18px 0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,3vw,38px);display:grid}.sitePage .purposeGraphicWords small{color:#ffffff94;letter-spacing:.12em;font-family:Georgia,Times New Roman,serif;font-size:9px}.sitePage .purposeHeading h2,.sitePage .servicesHeading h2,.sitePage .messageMain h2,.sitePage .contactIntro h2{letter-spacing:.06em;line-break:strict;text-wrap:balance;margin:22px 0 0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-weight:500;line-height:1.58}.sitePage .purposeHeading h2{max-width:11em;color:var(--brand-forest);font-size:clamp(38px,3.6vw,54px)}.sitePage .purposeBody>p{max-width:46em;color:var(--brand-muted);margin:0 0 25px;font-size:15px;line-height:2.25}.sitePage .philosophy{color:#fff;background:radial-gradient(circle at 86% 16%, #82967a33, transparent 34%), linear-gradient(135deg, var(--brand-forest-dark), #314b3b);padding:clamp(112px,11vw,168px) clamp(24px,7vw,112px);position:relative;overflow:hidden}.sitePage .philosophy:before{content:"";background:linear-gradient(#0000,#ffffff1a,#0000);width:1px;height:100%;position:absolute;top:0;right:8%}.sitePage .philosophyRing{border:1px solid #ffffff14;border-radius:45% 55% 48% 52%;width:900px;height:900px;animation:34s linear infinite orbitTurn;position:absolute;top:-420px;right:-150px}.sitePage .philosophyRing:after{content:"";border:1px solid #ffffff0d;border-radius:50%;position:absolute;inset:100px -40px 70px 70px}.sitePage .philosophyInner{z-index:1;max-width:1180px;margin:0 auto;position:relative}.sitePage .philosophyTitle{margin-top:56px}.sitePage .sectionKickerLight{color:#c8d6c5}.sitePage .philosophyTitle h2{letter-spacing:.07em;margin:22px 0 0;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(42px,4.7vw,68px);font-weight:500;line-height:1.52}.sitePage .philosophyCards{border-top:1px solid #ffffff29;border-left:1px solid #ffffff29;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:78px;display:grid}.sitePage .philosophyCard{background:#ffffff06;border-bottom:1px solid #ffffff29;border-right:1px solid #ffffff29;min-height:330px;padding:clamp(36px,4.5vw,60px);transition:background .35s,transform .35s}.sitePage .philosophyCard:hover{background:#ffffff0f;transform:translateY(-4px)}.sitePage .philosophyCardLead{color:var(--brand-ink);background:var(--brand-paper)}.sitePage .philosophyCardLead:hover{background:#fff}.sitePage .cardMeta{align-items:baseline;gap:13px;display:flex}.sitePage .cardMeta span{color:#b8c7b6;letter-spacing:.06em;font-family:Georgia,Times New Roman,serif;font-size:20px}.sitePage .philosophyCardLead .cardMeta span{color:var(--brand-sage-deep)}.sitePage .cardMeta em{color:#9eada0;letter-spacing:.16em;font-size:10px;font-style:normal}.sitePage .philosophyCard h3{letter-spacing:.06em;margin:35px 0 21px;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(24px,2.5vw,35px);font-weight:500;line-height:1.55}.sitePage .philosophyCard>p{color:#dce6da;margin:0;font-size:14px;line-height:2.1}.sitePage .philosophyCardLead>p{color:var(--brand-muted)}.sitePage .valueCard{grid-column:1/-1;min-height:auto}.sitePage .valueCard ol{grid-template-columns:repeat(5,minmax(0,1fr));margin:40px 0 0;padding:0;list-style:none;display:grid}.sitePage .valueCard li{min-width:0;padding:4px clamp(14px,2vw,27px)}.sitePage .valueCard li:first-child{padding-left:0}.sitePage .valueCard li+li{border-left:1px solid #ffffff24}.sitePage .valueCard li>span{color:#9eb19d;font-family:Georgia,serif;font-size:11px}.sitePage .valueCard li p{color:#eef3ed;margin:14px 0 0;font-family:Yu Mincho,YuMincho,serif;font-size:14px;line-height:1.8}.sitePage .services{grid-template-columns:130px minmax(0,1fr);gap:0 clamp(40px,5vw,80px);display:grid}.sitePage .servicesHeading{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);align-items:end;gap:50px;display:grid}.sitePage .servicesHeading h2{color:var(--brand-forest);font-size:clamp(40px,4.3vw,60px)}.sitePage .servicesHeading>p{max-width:32em;color:var(--brand-muted);margin:0 0 10px;font-size:14px;line-height:2.05}.sitePage .serviceGrid{border-top:1px solid var(--brand-line);border-left:1px solid var(--brand-line);grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:76px;display:grid}.sitePage .serviceCard{border-right:1px solid var(--brand-line);border-bottom:1px solid var(--brand-line);background:#ffffff73;min-height:380px;padding:clamp(36px,4vw,54px);transition:color .35s,background .35s,transform .35s,box-shadow .35s;position:relative;overflow:hidden}.sitePage .serviceCard:before{content:"";background:linear-gradient(145deg, var(--brand-forest), #385441);transition:transform .45s cubic-bezier(.2,.72,.2,1);position:absolute;inset:0;transform:translateY(102%)}.sitePage .serviceCard:hover{color:#fff;transform:translateY(-5px);box-shadow:0 28px 60px #233a2e29}.sitePage .serviceCard:hover:before{transform:translateY(0)}.sitePage .serviceCard>*{z-index:1;position:relative}.sitePage .serviceNumber{color:#96a396;font-family:Georgia,serif;font-size:12px}.sitePage .serviceIcon{border:1px solid #5f755d40;border-radius:50%;width:72px;height:72px;transition:border-color .35s,transform .55s;position:absolute;top:44px;right:44px}.sitePage .serviceCard:hover .serviceIcon{border-color:#ffffff4d;transform:rotate(18deg)}.sitePage .serviceCard h3{max-width:13em;color:var(--brand-forest);margin:108px 0 19px;font-family:Yu Mincho,YuMincho,Hiragino Mincho ProN,serif;font-size:clamp(22px,2vw,29px);font-weight:500;line-height:1.6;transition:color .3s}.sitePage .serviceCard:hover h3{color:#fff}.sitePage .serviceCard>p{max-width:35em;color:var(--brand-muted);margin:0;font-size:14px;line-height:2.05;transition:color .3s}.sitePage .serviceCard:hover>p{color:#dce6da}.sitePage .serviceLine{z-index:2;transform-origin:0;background:#aebfa9;height:3px;transition:transform .45s;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.sitePage .serviceCard:hover .serviceLine{transform:scaleX(1)}.sitePage .message{background:radial-gradient(circle at 12% 24%, #82967a2e, transparent 31%), linear-gradient(90deg, #e7ece2, var(--brand-paper));padding:clamp(112px,11vw,168px) clamp(24px,7vw,112px);position:relative;overflow:hidden}.sitePage .message:after{content:"";border-left:1px solid #5f755d1c;width:36vw;height:140%;position:absolute;top:-20%;right:-7%;transform:rotate(8deg)}.sitePage .messageInner{z-index:1;grid-template-columns:minmax(190px,.44fr) minmax(0,1fr);gap:clamp(62px,9vw,132px);max-width:1180px;margin:0 auto;display:grid;position:relative}.sitePage .messageAside{border-right:1px solid #5f755d38;flex-direction:column;justify-content:space-between;display:flex}.sitePage .messageEnglish{color:#929f93;letter-spacing:.08em;margin:82px 36px 0 0;font-family:Georgia,serif;font-size:13px;font-style:italic;line-height:2}.sitePage .messageMain h2{max-width:13em;color:var(--brand-forest);font-size:clamp(38px,4.2vw,58px)}.sitePage .messageText{max-width:47em;margin-top:44px}.sitePage .messageText p{color:var(--brand-muted);margin:0 0 23px;font-size:15px;line-height:2.25}.sitePage .representative{color:var(--brand-forest);text-align:right;letter-spacing:.12em;margin:46px 0 0;font-family:Yu Mincho,YuMincho,serif;font-size:16px}.sitePage .company{grid-template-columns:130px minmax(0,1fr);gap:0 clamp(40px,5vw,80px);display:grid}.sitePage .companyHeading h2{color:var(--brand-forest);letter-spacing:.025em;margin:18px 0 0;font-family:Georgia,Times New Roman,serif;font-size:clamp(42px,4.6vw,64px);font-weight:400}.sitePage .companyTable{border-top:1px solid var(--brand-line);grid-column:2;margin:74px 0 0}.sitePage .companyTable>div{border-bottom:1px solid var(--brand-line);grid-template-columns:190px minmax(0,1fr);gap:30px;padding:25px 0;transition:padding-left .25s,background .25s;display:grid;position:relative}.sitePage .companyTable>div:hover{background:#ffffff73;padding-left:12px}.sitePage .companyTable dt{color:#78837b;font-size:13px}.sitePage .companyTable dd{overflow-wrap:anywhere;min-width:0;margin:0;font-size:14px;line-height:1.95}.sitePage .companyTable ul{gap:5px;margin:0;padding:0;list-style:none;display:grid}.sitePage .companyTable li:before{content:"—";color:var(--brand-sage);margin-right:10px}.sitePage .companyTable a{color:var(--brand-sage-deep);text-underline-offset:4px;text-decoration:underline}.sitePage .contact{color:#fff;isolation:isolate;background:var(--brand-forest-dark);padding:clamp(112px,11vw,168px) clamp(24px,7vw,112px);position:relative;overflow:hidden}.sitePage .contact:before{content:"";z-index:-2;filter:saturate(.65);background:url(/kamiura-abstract-hero-v3.webp) 50%/cover no-repeat;position:absolute;inset:0;transform:scale(1.08)}.sitePage .contact:after{content:"";z-index:-1;background:linear-gradient(90deg,#17291ff7 0%,#17291fe6 48%,#17291fb8 100%),radial-gradient(circle at 12% 18%,#82967a38,#0000 32%);position:absolute;inset:0}.sitePage .contactInner{grid-template-columns:minmax(0,.88fr) minmax(380px,1.12fr);align-items:start;gap:clamp(62px,9vw,132px);max-width:1180px;margin:0 auto;display:grid}.sitePage .contactIntro .sectionKicker{margin-top:62px}.sitePage .contactIntro h2{font-size:clamp(40px,4.3vw,60px)}.sitePage .contactIntro>p:not(.sectionKicker){color:#ccd8ca;margin:35px 0 0;font-size:14px;line-height:2.08}.sitePage .emailLink{border-block:1px solid #fff3;grid-template-columns:66px minmax(0,1fr) auto;align-items:center;gap:16px;margin-top:48px;padding:21px 0;transition:padding-left .25s,border-color .25s;display:grid}.sitePage .emailLink:hover{border-color:#ffffff6b;padding-left:10px}.sitePage .emailLink span{color:#a4b5a3;letter-spacing:.18em;font-family:Georgia,serif;font-size:10px}.sitePage .emailLink strong{overflow-wrap:anywhere;min-width:0;font-size:15px;font-weight:500}.sitePage .emailLink i{font-size:18px;font-style:normal}.sitePage .contactIntro small{color:#a0afa0;margin-top:25px;font-size:11px;line-height:1.8;display:block}.sitePage .contactForm{color:var(--brand-ink);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f7f6f1f5;gap:24px;padding:clamp(32px,4vw,50px);display:grid;box-shadow:0 34px 90px #0b181047}.sitePage .contactForm label{gap:9px;display:grid}.sitePage .contactForm label>span{color:#566159;font-size:12px;font-weight:700}.sitePage .contactForm input,.sitePage .contactForm textarea{width:100%;min-width:0;color:var(--brand-ink);resize:vertical;background:0 0;border:0;border-bottom:1px solid #cbd3c9;border-radius:0;outline:none;padding:13px 3px}.sitePage .contactForm input:focus,.sitePage .contactForm textarea:focus{border-color:var(--brand-sage-deep);box-shadow:0 2px #5f755d21}.sitePage .contactForm button{color:#fff;background:var(--brand-forest);cursor:pointer;border:0;justify-content:space-between;align-items:center;width:100%;padding:17px 21px;font-size:13px;font-weight:700;transition:background .25s,transform .25s;display:flex}.sitePage .contactForm button:hover,.sitePage .contactForm button:focus-visible{background:var(--brand-sage-deep);transform:translateY(-2px)}.sitePage .contactForm button i{font-size:17px;font-style:normal}.sitePage .contactForm>p{color:#7d867f;margin:-10px 0 0;font-size:10px;line-height:1.7}.sitePage footer{color:#bfccbf;background:#111f17;grid-template-columns:minmax(230px,1fr) auto;align-items:end;gap:30px;min-height:240px;padding:54px clamp(24px,7vw,112px);display:grid}.sitePage .footerBrand{width:265px}.sitePage .footerLogoCrop{filter:grayscale()brightness(2.4);opacity:.72;align-items:center;width:265px;height:72px;display:flex;overflow:visible}.sitePage .footerLogoCrop img{object-fit:contain;width:195px;max-width:100%;height:auto;transform:none}.sitePage footer>p{letter-spacing:.16em;align-self:center;margin:0;font-family:Yu Mincho,YuMincho,serif;font-size:17px}.sitePage .footerMeta{color:#7f8d82;border-top:1px solid #ffffff14;grid-column:1/-1;justify-content:space-between;align-items:center;gap:25px;padding-top:26px;font-size:10px;display:flex}.sitePage .footerMeta a{overflow-wrap:anywhere}.motion-ready .sitePage [data-reveal]{opacity:0;transition:opacity .85s,transform .85s cubic-bezier(.2,.72,.2,1);transform:translateY(26px)}.motion-ready .sitePage [data-reveal=fade]{transform:none}.motion-ready .sitePage [data-reveal=image]{transform:translateY(38px)scale(.97)}.motion-ready .sitePage [data-reveal].is-visible{opacity:1;transform:none}.motion-ready .sitePage .serviceCard:nth-child(2){transition-delay:80ms}.motion-ready .sitePage .serviceCard:nth-child(3){transition-delay:.16s}.motion-ready .sitePage .serviceCard:nth-child(4){transition-delay:.24s}.motion-ready .sitePage .philosophyCard:nth-child(2){transition-delay:.1s}.motion-ready .sitePage .philosophyCard:nth-child(3){transition-delay:.18s}@keyframes heroVideoIn{0%{opacity:0;transform:scale(1.012)}to{opacity:1;transform:scale(1)}}@keyframes heroHeartbeat{0%,15%,to{opacity:.12;transform:scale(.96)}24%{opacity:.3;transform:scale(1.018)}31%{opacity:.17;transform:scale(1.005)}38%{opacity:.26;transform:scale(1.045)}70%{opacity:.1;transform:scale(1.09)}}@keyframes pulseWave{0%{opacity:0;transform:scale(.62)}11%{opacity:.2}64%{opacity:.055}to{opacity:0;transform:scale(1.14)}}@keyframes heroCopyIn{0%{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translate(0,0)}}@keyframes orbitTurn{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes orbitTurnReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@media (width>=1081px){.sitePage :is(.purposeHeading h2,.philosophyTitle h2,.servicesHeading h2,.messageMain h2,.contactIntro h2,.philosophyCard h3,.serviceCard h3) .titleLine,.sitePage :is(.philosophyCard h3,.serviceCard h3){white-space:nowrap}.sitePage :is(.purposeHeading h2,.philosophyTitle h2,.servicesHeading h2,.messageMain h2,.contactIntro h2) .titleLine wbr,.sitePage .servicesHeading>p wbr{display:none}.sitePage .purpose{grid-template-columns:minmax(300px,.65fr) minmax(0,1.35fr);gap:42px clamp(62px,6vw,88px)}.sitePage .purposeHeading h2{max-width:none;font-size:clamp(34px,3.05vw,46px)}.sitePage .philosophyTitle h2{font-size:clamp(42px,4.45vw,64px)}.sitePage .philosophyCard h3{font-size:clamp(24px,2.1vw,30px)}.sitePage .servicesHeading{grid-template-columns:1fr;gap:18px}.sitePage .servicesHeading h2{font-size:clamp(42px,4vw,58px)}.sitePage .servicesHeading>p{white-space:nowrap;max-width:none;margin-bottom:0}.sitePage .serviceCard h3{max-width:none;font-size:clamp(22px,1.8vw,27px)}.sitePage .messageMain h2{max-width:none;font-size:clamp(40px,3.45vw,50px)}.sitePage .contactInner{grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);gap:clamp(52px,6vw,84px)}.sitePage .contactIntro h2{font-size:clamp(30px,2.8vw,40px)}}@media (width<=1080px){.sitePage .siteHeader{grid-template-columns:minmax(220px,1fr) auto}.sitePage .siteHeader nav{display:none}.sitePage .valueCard ol{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:34px}.sitePage .valueCard li:nth-child(4){border-left:0;padding-left:0}}@media (width<=880px){.sitePage .hero{height:auto;min-height:820px}.sitePage .heroMediaShade{background:linear-gradient(#0000 64%,#e8eee238 82%,#e8eee2f5 100%),linear-gradient(90deg,#f7f6f1fe 0%,#f7f6f1f9 58%,#f7f6f170 100%)}.sitePage .heroInner{min-height:820px}.sitePage .heroCopy{z-index:2;max-width:680px;position:relative}.sitePage .purpose{grid-template-columns:minmax(260px,.82fr) minmax(320px,1.18fr);gap:38px 50px}.sitePage .services,.sitePage .company{grid-template-columns:1fr}.sitePage .servicesHeading{margin-top:42px}.sitePage .serviceGrid,.sitePage .companyTable{grid-column:1}.sitePage .messageInner{grid-template-columns:1fr;gap:48px}.sitePage .messageAside{border-right:0}.sitePage .messageEnglish{display:none}.sitePage .contactInner{grid-template-columns:1fr}}@media (width<=720px){.sitePage{letter-spacing:.02em}.sitePage section{scroll-margin-top:68px}.sitePage .siteHeader,.sitePage .siteHeader.is-scrolled{grid-template-columns:minmax(0,1fr) auto;gap:10px;height:68px;padding:0 16px}.sitePage .brand,.sitePage .brandCrop{width:min(184px,50vw)}.sitePage .brandCrop{height:50px}.sitePage .brandCrop img{width:148px;height:auto;transform:none}.sitePage .headerContact{padding:9px 12px;font-size:10px}.sitePage .hero{height:auto;min-height:760px;padding:68px 20px 0}.sitePage .hero:before{top:68px;left:20px}.sitePage .heroMedia img,.sitePage .heroMedia video{object-position:68% center}.sitePage .heroMediaShade{background:linear-gradient(#0000 57%,#e8eee247 79%,#e8eee2fa 100%),linear-gradient(#f7f6f1eb 0%,#f7f6f1f6 57%,#f7f6f133 100%),linear-gradient(90deg,#f7f6f1fb,#f7f6f170)}.sitePage .heroPulse{opacity:.72;width:170vw;bottom:-15%;right:-78%}.sitePage .heroInner{align-items:start;min-height:760px}.sitePage .heroCopy{padding:88px 0 124px}.sitePage .eyebrow{letter-spacing:.18em;font-size:9px}.sitePage .heroCopy h1{letter-spacing:.035em;width:100%;max-width:100%;margin-top:21px;font-size:clamp(41px,12.2vw,54px);line-height:1.38}.sitePage .heroLead{margin-top:29px;font-size:clamp(14px,4.2vw,16px);line-height:1.95}.sitePage .heroDescription{margin-top:17px;font-size:13px;line-height:1.95}.sitePage .heroActions{gap:9px;margin-top:31px}.sitePage .button{flex:142px;min-width:0;padding:14px 15px;font-size:12px}.sitePage .heroFoundation{letter-spacing:.1em;justify-content:center;gap:10px;min-height:72px;font-size:11px;left:20px;right:20px}.sitePage .heroFoundation i{width:14px}.sitePage .contentSection,.sitePage .philosophy,.sitePage .message,.sitePage .contact{padding:96px 20px}.sitePage .sectionIndex{gap:10px}.sitePage .purposeBackdrop:before{opacity:.09;height:220px}.sitePage .purpose{grid-template-columns:1fr;grid-template-areas:"index""heading""media""body";gap:34px}.sitePage .purposeHeading{padding-top:8px}.sitePage .purposeHeading h2{max-width:none;margin-top:17px;font-size:34px;line-height:1.55}.sitePage .purposeMedia{width:100%;margin:7px 0 19px}.sitePage .purposeGraphic{aspect-ratio:5/6}.sitePage .purposeGraphicWords>span{font-size:27px}.sitePage .purposeBody>p{margin-bottom:21px;font-size:clamp(13px,3.6vw,14px);line-height:2.08}.sitePage .philosophyTitle{margin-top:43px}.sitePage .philosophyTitle h2{margin-top:18px;font-size:36px;line-height:1.5}.sitePage .philosophyCards{grid-template-columns:1fr;margin-top:56px}.sitePage .philosophyCard,.sitePage .valueCard{grid-column:1;min-height:auto;padding:34px 25px}.sitePage .philosophyCard h3{margin-top:29px;font-size:26px}.sitePage .philosophyCard>p{font-size:13px;line-height:2}.sitePage .valueCard ol{grid-template-columns:1fr;row-gap:0;margin-top:29px}.sitePage .valueCard li,.sitePage .valueCard li:first-child,.sitePage .valueCard li:nth-child(4){border-bottom:1px solid #ffffff1f;border-left:0;grid-template-columns:36px minmax(0,1fr);gap:8px;padding:15px 0;display:grid}.sitePage .valueCard li p{margin:0;font-size:13px}.sitePage .servicesHeading{grid-template-columns:1fr;gap:22px;margin-top:39px}.sitePage .servicesHeading h2{letter-spacing:.035em;margin-top:18px;font-size:clamp(27px,7.7vw,34px);line-height:1.55}.sitePage .servicesHeading>p{font-size:13px;line-height:1.92}.sitePage .serviceGrid{grid-template-columns:1fr;margin-top:49px}.sitePage .serviceCard{min-height:320px;padding:33px 25px}.sitePage .serviceIcon{transform-origin:100% 0;top:30px;right:24px;transform:scale(.84)}.sitePage .serviceCard:hover .serviceIcon{transform:scale(.84)rotate(18deg)}.sitePage .serviceCard h3{margin-top:92px;font-size:24px}.sitePage .serviceCard>p{font-size:13px;line-height:1.92}.sitePage .messageInner{gap:39px}.sitePage .messageMain h2{margin-top:18px;font-size:30px;line-height:1.6}.sitePage .messageMain h2 .titleLine{white-space:normal}.sitePage .messageText{margin-top:33px}.sitePage .messageText p{font-size:clamp(13px,3.6vw,14px);line-height:2.08}.sitePage .representative{margin-top:35px;font-size:14px}.sitePage .companyHeading{margin-top:39px}.sitePage .companyHeading h2{margin-top:14px;font-size:38px}.sitePage .companyTable{margin-top:47px}.sitePage .companyTable>div{grid-template-columns:1fr;gap:8px;padding:20px 0}.sitePage .companyTable>div:hover{padding-left:0}.sitePage .companyTable dd{font-size:13px}.sitePage .companyAddress .addressLine{width:max-content;max-width:100%;display:block}.sitePage .companyAddress .addressSeparator{display:none}.sitePage .contactIntro .sectionKicker{margin-top:43px}.sitePage .contactIntro h2{margin-top:18px;font-size:36px;line-height:1.5}.sitePage .contactIntro>p:not(.sectionKicker){margin-top:28px;font-size:13px}.sitePage .emailLink{grid-template-columns:48px minmax(0,1fr) auto;gap:10px;margin-top:35px}.sitePage .emailLink strong{font-size:13px}.sitePage .contactForm{padding:29px 21px}.sitePage footer{grid-template-columns:1fr;align-items:start;min-height:250px;padding:48px 20px 34px}.sitePage .footerBrand,.sitePage .footerLogoCrop{width:230px}.sitePage .footerLogoCrop{height:62px}.sitePage .footerLogoCrop img{width:184px;height:auto;transform:none}.sitePage footer>p{margin-top:8px;font-size:15px}.sitePage .footerMeta{flex-direction:column;grid-column:1;align-items:flex-start;gap:11px}}@media (width<=400px){.sitePage .heroCopy h1{font-size:39px}.sitePage .heroActions{flex-direction:column}.sitePage .button{flex-basis:auto;width:100%}.sitePage .heroFoundation{font-size:10px}.sitePage .messageMain h2{font-size:27px}}@media (prefers-reduced-motion:reduce){.sitePage *,.sitePage :before,.sitePage :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.motion-ready .sitePage [data-reveal]{opacity:1;transform:none}.sitePage .heroVideo{display:none}}@supports (word-break:auto-phrase){.sitePage :is(h1,h2,h3,p,li,dd,dt){word-break:auto-phrase}}
