:root{--bg:#f5f1e7;--dark:#284b3e;--text:#263e34;--gold:#8b7048;--border:#cccfc0;--serif:'Noto Serif JP',serif;--sans:'Noto Sans JP',sans-serif;--en:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:132px}body{margin:0;color:var(--text);background:var(--bg);font:15px/1.9 var(--sans);-webkit-font-smoothing:antialiased}h1,h2,h3,h4,p,figure,ul,ol{margin:0}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}img{display:block;width:100%;height:auto}a,button{-webkit-tap-highlight-color:transparent}button{border:0}[hidden]{display:none!important}:focus-visible{outline:3px solid #9b7845;outline-offset:4px}.skip-link{position:fixed;z-index:100;top:6px;left:10px;padding:10px 15px;background:var(--dark);color:white;transform:translateY(-150%)}.skip-link:focus{transform:none}.demo-notice{position:sticky;top:0;z-index:55;display:flex;align-items:center;justify-content:space-between;padding:9px 5%;background:#ded7c3;font-size:10px;gap:15px;min-height:38px}.demo-notice a{text-decoration:underline;text-underline-offset:3px}.builder-header{position:sticky;top:38px;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:18px 5%;height:94px;background:#f5f1e7f2;backdrop-filter:blur(14px);border-bottom:1px solid #283e3420}.builder-brand{display:flex;gap:13px;align-items:center;flex-shrink:0}.builder-brand>span:last-child{font:500 24px/1.4 var(--serif)}.builder-brand small{display:block;font:9px/1.7 var(--sans);margin-top:3px}.builder-mark{position:relative;width:30px;height:36px;display:block}.builder-mark i{position:absolute;left:5px;top:4px;display:block;width:21px;height:21px;border-top:2px solid var(--dark);border-left:2px solid var(--dark);transform:rotate(45deg)}.builder-mark i:last-child{width:21px;height:23px;transform:none;top:15px;border-left:2px solid var(--dark);border-right:2px solid var(--dark);border-bottom:2px solid var(--dark);border-top:0}.builder-nav{display:flex;align-items:center;gap:24px;font-size:11px}.builder-nav a{padding:10px 0}.builder-nav a[aria-current=page]{border-bottom:1px solid var(--gold);color:var(--gold)}.builder-nav .builder-contact-link{background:var(--dark);padding:10px 19px;color:var(--bg)}.builder-contact-link span{margin-left:16px}.builder-menu-button{display:none}.builder-mobile-nav{position:absolute;top:100%;left:0;right:0;padding:10px 6% 22px;background:var(--bg);border-bottom:1px solid var(--border);box-shadow:0 15px 20px #263e3415;max-height:calc(100svh - 114px);overflow:auto}.builder-mobile-nav a{display:block;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px}.builder-mobile-nav a[aria-current=page]{color:var(--gold)}.demo-wrap{width:min(90%,1240px);margin:auto}.section-space{padding-top:90px;padding-bottom:90px}.builder-eyebrow{font:11px/1.6 var(--en);letter-spacing:.13em;color:var(--gold)}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(33px,4vw,56px);line-height:1.55;letter-spacing:-.04em}h2{font-size:clamp(27px,3vw,42px);line-height:1.65}h3{font-size:24px;line-height:1.7}.builder-hero{position:relative;height:640px;isolation:isolate;overflow:hidden}.builder-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 57%}.builder-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#132c2388,transparent 78%);z-index:0}.builder-hero-copy{position:absolute;z-index:1;top:23%;left:8%;color:#fff8e9}.builder-hero-copy .builder-eyebrow{color:#f4e8d1}.builder-hero h1{font-size:clamp(44px,5.5vw,80px);font-weight:400;margin:16px 0 20px;line-height:1.5}.builder-hero-copy>p:last-child{font-size:15px}.hero-photo-note{position:absolute;bottom:12px;right:5%;z-index:1;padding:3px 9px;background:#f5f1e7db;font-size:9px;color:var(--text)}.hero-section-number{position:absolute;bottom:25px;left:8%;z-index:1;color:white;font:10px var(--en);letter-spacing:.12em}.intro-layout{display:grid;grid-template-columns:1fr .85fr;gap:12%;align-items:center}.intro-layout h2{margin-top:19px}.intro-layout>div>p{font-size:15px;line-height:2.1}.intro-layout>div>p+p{margin-top:18px}.small-link{display:inline-flex;align-items:center;gap:35px;font-size:12px;border-bottom:1px solid var(--text);padding:11px 0;margin-top:23px}.small-link span{font-size:22px}.builder-services{background:#e9e9dc}.builder-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:36px}.builder-section-heading h2{margin-top:12px}.builder-section-heading .small-link{margin-top:0;flex-shrink:0}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.service-card{display:block;min-width:0}.service-card .image-wrap{position:relative;aspect-ratio:1.35;overflow:hidden}.image-wrap img{height:100%;object-fit:cover;transition:transform .6s}.service-card:hover img,.project-card:hover img{transform:scale(1.035)}.service-card small{display:block;margin-top:18px;font:9px var(--en);letter-spacing:.12em;color:var(--gold)}.service-card h3{display:flex;justify-content:space-between;align-items:center;margin:8px 0 12px;font-size:26px}.service-card h3 span{font:24px var(--en)}.service-card p{font-size:13px}.project-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px 32px}.project-card{display:block;min-width:0}.project-card .image-wrap{aspect-ratio:1.48;overflow:hidden;position:relative}.project-card .project-number{position:absolute;top:15px;left:16px;font:10px var(--en);color:white;padding:3px 8px;background:#2b493bcc}.project-card small{display:block;font-size:10px;color:var(--gold);margin:15px 0 5px}.project-card h3{display:flex;justify-content:space-between;gap:12px;font-size:24px}.project-card h3 span{font:23px var(--en)}.project-card p{font-size:12px;margin-top:7px;color:#607264}.news-home{background:#e8e9dd}.news-layout{display:grid;grid-template-columns:.65fr 1.35fr;gap:10%}.news-layout h2{margin-top:14px}.news-list{list-style:none;padding:0}.news-list li{border-top:1px solid var(--border)}.news-list li:last-child{border-bottom:1px solid var(--border)}.news-list a{display:grid;grid-template-columns:90px 86px minmax(0,1fr) 20px;align-items:center;gap:14px;padding:23px 0;font-size:14px}.news-list time{font:11px var(--en);color:#607264}.news-list .news-category{font-size:10px;background:#dadfd1;padding:3px 6px;text-align:center}.news-list strong{font-weight:400}.news-list .news-arrow{font:22px var(--en)}.news-list a:hover strong{text-decoration:underline;text-underline-offset:5px}.page-header{padding:50px 0 45px;border-bottom:1px solid var(--border)}.breadcrumb{font-size:10px;margin-bottom:26px;color:#627364}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-header h1{margin-top:14px}.page-header .page-lead{max-width:650px;font-size:14px;margin-top:20px}.service-index{display:flex;flex-wrap:wrap;gap:14px;margin-top:25px}.service-index a{font-size:12px;border:1px solid var(--border);padding:8px 18px;min-height:44px}.service-detail{display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center;padding:55px 0;border-bottom:1px solid var(--border);scroll-margin-top:150px}.service-detail:nth-child(even)>img{order:1}.service-detail>img{aspect-ratio:1.05;object-fit:cover}.service-detail h2{font-size:31px;margin:12px 0 17px}.service-detail h3{font-size:20px;margin-bottom:18px}.service-detail p{font-size:14px;line-height:2}.detail-points{list-style:none;padding:0;margin-top:25px}.detail-points li{padding:12px 0;border-top:1px solid var(--border);font-size:13px}.detail-points li::before{content:'＋';color:var(--gold);margin-right:12px}.consultation-steps{margin-top:50px;padding:35px;background:#e5e8da}.consultation-steps h2{font-size:25px;margin-bottom:20px}.consultation-steps ol{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.consultation-steps li>span{font:25px var(--en);color:var(--gold)}.consultation-steps h3{font-size:18px;margin:8px 0}.consultation-steps p{font-size:12px}.filter-row{display:flex;gap:10px;flex-wrap:wrap;padding:30px 0}.filter-row button{background:transparent;border:1px solid #9ba98f;padding:9px 20px;min-height:44px;font-size:12px}.filter-row button[aria-pressed=true]{background:var(--dark);color:white;border-color:var(--dark)}.fiction-note{font-size:11px;color:#627364;margin:20px 0 0}.project-detail-hero{width:100%;max-height:650px;object-fit:cover;aspect-ratio:1.8}.project-detail-copy{display:grid;grid-template-columns:.75fr 1.25fr;gap:10%;padding-top:45px}.project-detail-copy h2{font-size:30px;margin-top:20px}.project-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:15px 20px;margin:25px 0 0;font-size:12px}.project-meta dt{font-size:10px;color:var(--gold)}.project-meta dd{margin:4px 0 0}.project-story p{font-size:14px;line-height:2.1}.project-story h3{font-size:21px;margin-top:28px}.project-story .detail-points{margin-top:15px}.story-caption{font-size:10px;color:#63705e;margin-top:8px}.back-link{display:inline-block;margin-top:35px;border-bottom:1px solid var(--text);padding:10px 0;font-size:12px}.about-image{aspect-ratio:2.2;width:100%;object-fit:cover}.about-statement{display:grid;grid-template-columns:1fr .9fr;gap:10%;padding:65px 0}.about-statement p{font-size:14px;line-height:2.1}.about-statement p+p{margin-top:18px}.values-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.values-grid>div{padding:25px 0;border-top:1px solid var(--border)}.values-grid span{font:12px var(--en);color:var(--gold)}.values-grid h3{font-size:21px;margin:14px 0}.values-grid p{font-size:13px}.company-info{margin-top:50px}.company-info h2{font-size:27px;margin-bottom:20px}.company-info dl{margin:0}.company-info dl>div{display:grid;grid-template-columns:150px 1fr;padding:18px 0;border-top:1px solid var(--border);font-size:14px}.company-info dd{margin:0}.company-info dt{font-size:12px;color:#627364}.staff-profile{margin-top:40px;display:grid;grid-template-columns:80px 1fr;gap:25px;padding:30px;background:#e8e9dc}.staff-initial{display:grid;align-content:center;justify-content:center;height:80px;background:#c4d0bc;border-radius:50%;font:22px var(--en)}.staff-profile h3{font-size:20px}.staff-profile p{font-size:13px;margin-top:9px}.staff-profile small{font-size:10px;color:#627364}.news-article{max-width:850px;margin:auto}.article-meta{display:flex;gap:20px;font-size:12px;color:#607264;margin-bottom:20px}.news-article h1{font-size:37px;line-height:1.7;margin-bottom:30px}.news-article>img{aspect-ratio:1.6;object-fit:cover;margin-bottom:30px}.news-article>p{font-size:15px;line-height:2.1;margin-top:22px}.form-layout{display:grid;grid-template-columns:.6fr 1.4fr;gap:8%;margin-top:40px}.form-intro h2{font-size:25px}.form-intro p{font-size:13px;margin-top:18px}.form-intro small{display:block;font-size:11px;margin-top:20px;color:var(--gold)}.form-progress{display:flex;gap:14px;border-bottom:1px solid var(--border);padding-bottom:15px;font-size:11px;margin-bottom:25px}.form-progress span.is-active{font-weight:700;color:var(--dark)}.form-progress span{color:#7c8979}.field{margin-bottom:22px}.field label{display:block;font-size:13px;font-weight:500;margin-bottom:8px}.field label b{font-size:9px;background:#dde3d4;font-weight:400;padding:3px 6px;margin-left:10px}.field input,.field textarea,.field select{display:block;width:100%;min-height:50px;border:1px solid #a9b69f;background:#fffdf6;border-radius:2px;padding:12px 14px;font-size:14px}.field textarea{min-height:150px;resize:vertical}.field input::placeholder,.field textarea::placeholder{color:#7a8578}.form-note{font-size:11px;margin-bottom:22px;color:#5c705d}.confirm-data{margin:0 0 30px}.confirm-data>div{padding:17px 0;border-top:1px solid var(--border)}.confirm-data dt{font-size:11px;color:var(--gold)}.confirm-data dd{margin:8px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}.form-buttons{display:flex;flex-wrap:wrap;gap:15px}.builder-button{display:inline-flex;align-items:center;justify-content:space-between;gap:25px;padding:15px 26px;min-height:56px;background:var(--dark);color:var(--bg);font-size:13px;border-radius:2px;border:1px solid var(--dark);line-height:1.8;transition:background .2s}.builder-button span{font-size:22px;line-height:1}.builder-button:hover{background:#3a5e4b}.builder-button.secondary{background:transparent;color:var(--dark)}.form-done{background:#e3e8d7;padding:30px}.form-done h2{font-size:27px}.form-done p{font-size:14px;margin-top:18px}.form-done .builder-button{margin-top:25px}.builder-cta{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px;padding:65px 8%;background:#dce3d0}.builder-cta span{font:10px var(--en);letter-spacing:.13em;color:#5c765c}.builder-cta h2{font-size:35px;margin-top:12px}.builder-cta p{grid-column:1/-1;font-size:10px}.builder-cta .builder-button span{font-size:22px;color:var(--bg)}.builder-footer{display:grid;grid-template-columns:1fr 1fr;gap:35px;padding:55px 5% 30px;background:var(--dark);color:#f2efdf}.builder-footer strong{font:500 25px var(--serif)}.builder-footer p{font-size:11px;margin-top:15px;line-height:2}.footer-nav{display:grid;grid-template-columns:1fr 1fr;gap:15px;font-size:12px}.builder-footer-bottom{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid #bbcab333;padding-top:22px;font:9px var(--en);letter-spacing:.06em;gap:20px}.builder-footer-bottom a{font-family:var(--sans);font-size:10px;border-bottom:1px solid #d0dac1;letter-spacing:0}#demo-main:focus{outline:none}
@media(max-width:1100px){.builder-nav{gap:16px;font-size:10px}.builder-brand>span:last-child{font-size:21px}.builder-hero{height:540px}.service-grid{gap:18px}.project-card h3{font-size:21px}.news-list a{grid-template-columns:75px 65px minmax(0,1fr) 15px;gap:10px;font-size:12px}.news-list .news-category{font-size:9px}.project-detail-copy{gap:7%}}
@media(max-width:850px){.builder-header{height:78px}.builder-nav{display:none}.builder-menu-button{display:block;width:44px;height:46px;padding:5px 7px;background:transparent}.builder-menu-button>span{display:block;width:27px;height:1px;background:var(--dark);margin:7px 0;transition:transform .2s}.builder-menu-button>b{display:block;font:8px var(--en);letter-spacing:.08em}.builder-menu-button[aria-expanded=true]>span:first-child{transform:translateY(4px) rotate(45deg)}.builder-menu-button[aria-expanded=true]>span:nth-child(2){transform:translateY(-4px) rotate(-45deg)}.demo-wrap{width:88%}.section-space{padding-block:65px}.intro-layout{grid-template-columns:1fr;gap:30px}.intro-layout>div>p{font-size:14px}.service-card h3{font-size:23px}.service-card p{font-size:12px}.news-layout{grid-template-columns:1fr;gap:30px}.news-list a{font-size:13px}.service-detail{gap:5%}.service-detail>img{aspect-ratio:.95}.service-detail h2{font-size:27px}.service-detail h3{font-size:18px}.service-detail p{font-size:13px}.detail-points li{font-size:12px}.project-detail-copy{grid-template-columns:1fr;gap:30px}.project-meta{grid-template-columns:repeat(3,1fr)}.about-statement{grid-template-columns:1fr;gap:25px}.values-grid h3{font-size:19px}.form-layout{grid-template-columns:1fr;gap:30px}.form-intro{max-width:600px}.builder-cta{padding:50px 6%;gap:24px}.builder-cta h2{font-size:30px}.builder-footer{padding-inline:6%}.builder-footer-bottom{flex-direction:column;align-items:flex-start;gap:15px}}
@media(max-width:550px){body{font-size:14px}.demo-notice{padding:8px 6%;font-size:9px;gap:10px}.demo-notice span{font-size:8px}.builder-header{padding-inline:6%;top:38px;height:76px}.builder-brand>span:last-child{font-size:20px}.builder-brand small{font-size:8px}.builder-brand{gap:10px}.builder-mark{width:27px;transform:scale(.85);transform-origin:left}.builder-hero{height:520px}.builder-hero>img{object-position:58% center}.builder-hero::after{background:linear-gradient(90deg,#172c2488,#172c2422)}.builder-hero-copy{left:6%;top:21%;right:5%}.builder-hero h1{font-size:42px;line-height:1.55;letter-spacing:-.045em;margin-top:17px}.builder-hero-copy .builder-eyebrow{font-size:9px}.builder-hero-copy>p:last-child{font-size:13px}.hero-photo-note{font-size:8px}.hero-section-number{left:6%;font-size:9px}.section-space{padding-block:50px}.builder-eyebrow{font-size:9px}.intro-layout h2{font-size:29px}.intro-layout>div>p{font-size:14px}.builder-section-heading{display:block;margin-bottom:27px}.builder-section-heading h2{font-size:28px}.builder-section-heading .small-link{margin-top:12px}.service-grid{grid-template-columns:1fr;gap:32px}.service-card .image-wrap{aspect-ratio:1.55}.service-card small{margin-top:14px;font-size:9px}.service-card h3{font-size:25px;margin-bottom:9px}.service-card p{font-size:13px}.project-grid{grid-template-columns:1fr;gap:32px}.project-card .image-wrap{aspect-ratio:1.45}.project-card h3{font-size:22px;line-height:1.7}.project-card small{font-size:10px;margin-top:12px}.project-card p{font-size:12px}.news-list a{grid-template-columns:75px 70px 1fr;gap:8px;padding:20px 0}.news-list strong{grid-column:1/3;font-size:13px;line-height:1.9}.news-list .news-arrow{grid-column:3;grid-row:2;text-align:right}.news-list time{font-size:10px}.news-list .news-category{font-size:9px}.page-header{padding-top:30px;padding-bottom:30px}.breadcrumb{margin-bottom:20px;font-size:9px}.page-header h1{font-size:30px;margin-top:12px}.page-header .page-lead{font-size:13px;margin-top:17px}.service-index{gap:7px}.service-index a{font-size:11px;padding:8px 12px}.service-detail{grid-template-columns:1fr;gap:25px;padding:35px 0;scroll-margin-top:130px}.service-detail:nth-child(even)>img{order:0}.service-detail>img{aspect-ratio:1.25}.service-detail h2{font-size:28px;margin-top:10px}.service-detail h3{font-size:20px}.service-detail p{font-size:14px}.detail-points li{font-size:13px;padding:11px 0}.consultation-steps{margin-top:35px;padding:24px 20px}.consultation-steps h2{font-size:23px}.consultation-steps ol{grid-template-columns:1fr;gap:22px}.consultation-steps h3{font-size:19px}.consultation-steps p{font-size:13px}.filter-row{gap:7px;padding:25px 0}.filter-row button{padding:8px 14px;font-size:11px}.fiction-note{font-size:10px}.project-detail-hero{aspect-ratio:1.2;max-height:none}.project-detail-copy{padding-top:27px;gap:25px}.project-detail-copy h2{font-size:26px;line-height:1.75}.project-meta{grid-template-columns:1fr 1fr;margin-top:22px;font-size:11px}.project-story p{font-size:14px}.project-story h3{font-size:21px}.about-image{aspect-ratio:1.25}.about-statement{padding:40px 0}.about-statement h2{font-size:29px}.about-statement p{font-size:14px}.values-grid{grid-template-columns:1fr;gap:10px}.values-grid>div{padding:22px 0}.values-grid h3{font-size:22px;margin:10px 0}.values-grid p{font-size:14px}.company-info{margin-top:35px}.company-info h2{font-size:25px}.company-info dl>div{grid-template-columns:1fr;gap:8px;font-size:13px}.company-info dt{font-size:11px}.staff-profile{grid-template-columns:55px 1fr;padding:22px 17px;gap:15px}.staff-initial{height:55px;font-size:17px}.staff-profile h3{font-size:18px}.staff-profile p{font-size:12px}.news-article h1{font-size:28px;line-height:1.8}.news-article>img{aspect-ratio:1.2}.news-article>p{font-size:14px}.article-meta{font-size:11px}.builder-cta{grid-template-columns:1fr;padding-block:40px}.builder-cta h2{font-size:28px}.builder-cta .builder-button{width:100%;font-size:13px}.builder-cta p{font-size:10px}.builder-footer{grid-template-columns:1fr;padding-top:40px;gap:30px}.builder-footer strong{font-size:24px}.footer-nav{font-size:11px;gap:15px}.builder-footer-bottom{font-size:8px}.builder-footer-bottom a{font-size:10px}.form-layout{margin-top:30px}.form-intro h2{font-size:25px}.field input,.field select,.field textarea{font-size:16px}.builder-button{width:100%;font-size:13px}.form-buttons{gap:12px}.form-done{padding:25px 20px}.form-done h2{font-size:25px}}
@media(max-width:350px){.builder-hero h1{font-size:37px}.builder-hero{height:490px}.builder-brand>span:last-child{font-size:18px}.demo-notice{font-size:8px;padding-inline:5%}.demo-notice span{font-size:7px}.project-card h3{font-size:20px}.builder-cta h2{font-size:26px}.page-header h1{font-size:27px}.intro-layout h2{font-size:27px}.news-article h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
.skip-link{clip-path:inset(50%)}.skip-link:focus{clip-path:none}
[data-form-panel]{scroll-margin-top:145px}
@media(max-width:550px){.project-story p,.service-detail p,.about-statement p,.news-article>p,.values-grid p{font-size:15px}.company-info dl>div,.form-intro p{font-size:14px}}

h1,h2,h3{text-wrap:balance}.builder-hero h1>span{display:block;white-space:nowrap}
@media(max-width:550px){.builder-hero h1{font-size:clamp(29px,8.2vw,42px);line-height:1.6}}
