@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600&display=swap";:root{--ink:#293a33;--paper:#f6f5f0;--muted:#73786f;--line:#d8dbd1;--accent:#9caa83}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:Noto Sans JP,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button,a{color:inherit}button{cursor:pointer}a{text-decoration:none}button{background:0 0;border:0}a,button{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:5px;outline:2px solid #a97739}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:Noto Serif JP,Yu Mincho,serif;font-weight:500}button svg,a svg{flex-shrink:0}.header{background:var(--paper);z-index:5;justify-content:space-between;align-items:center;gap:28px;height:100px;padding:0 5%;display:flex;position:relative}.brand{align-items:center;gap:14px;display:flex}.brand b{letter-spacing:2px;font-family:Georgia,serif;font-size:28px;font-weight:500;line-height:1}.brand small{letter-spacing:3px;margin-top:7px;font-size:10px;display:block}.brand-dot{color:#8b9a73}.brand-mark{align-items:flex-end;gap:4px;height:34px;display:flex}.brand-mark span{border:1px solid var(--ink);width:7px;height:26px;transform:skewY(-25deg)}.brand-mark span:nth-child(2){height:35px}.brand-mark span:nth-child(3){height:23px}.nav{letter-spacing:.05em;gap:31px;margin-left:auto;font-size:12px;display:flex}.nav a:hover{color:#899271}.header-cta{background:var(--ink);color:#fff;align-items:center;gap:25px;padding:17px 22px;font-size:12px;display:flex}.menu{display:none}.hero{grid-template-columns:49% 51%;height:calc(100svh - 160px);min-height:660px;max-height:850px;display:grid}.hero-copy{flex-direction:column;padding:57px 8% 26px 10.2%;display:flex}.eyebrow{letter-spacing:2.1px;align-items:center;gap:10px;font-size:10px;font-weight:500;display:flex}.eyebrow>span{background:#a7b58d;border-radius:50%;width:6px;height:6px}.hero h1{letter-spacing:.1em;white-space:nowrap;margin:25px 0 18px;font-size:clamp(40px,4.2vw,65px);line-height:1.6}.hero-lead{letter-spacing:.08em;font-size:16px}.hero-description{letter-spacing:.09em;color:#6e756a;margin:22px 0 30px;font-size:13px;line-height:2.2}.primary{background:var(--ink);color:#fff;letter-spacing:.07em;justify-content:space-between;align-items:center;gap:35px;max-width:285px;padding:19px 24px;font-size:13px;transition:background .2s;display:flex}.primary:hover,.header-cta:hover{background:#45574a}.hero-bottom{justify-content:space-between;align-items:center;max-width:390px;margin-top:auto;padding-top:32px;display:flex}.hero-bottom>span{letter-spacing:1.9px;color:var(--muted);font-size:8px}.hero-bottom>a{border:1px solid var(--line);border-radius:50%;padding:10px;display:flex}.hero-image{position:relative;overflow:hidden}.hero-image>img{object-fit:cover;object-position:50% 51%;width:100%;height:100%}.image-shade{background:linear-gradient(#0000001a,#0000 40%,#0c181387);position:absolute;inset:0}.photo-label{color:#fff;letter-spacing:1.8px;align-items:center;gap:8px;font-size:10px;display:flex;position:absolute;top:30px;left:32px}.photo-label>span{background:#fff;border-radius:50%;width:5px;height:5px}.hero-caption{color:#fff;position:absolute;bottom:49px;left:35px}.hero-caption>span{letter-spacing:.15em;font-family:Noto Serif JP,serif;font-size:21px}.hero-caption small{letter-spacing:1.7px;margin-top:13px;font-size:8px;display:block}.image-number{color:#fff;font-family:Georgia,serif;font-size:18px;position:absolute;bottom:46px;right:28px}.image-number span{opacity:.7;margin-left:7px;font-size:12px}.finder{border-bottom:1px solid var(--line);grid-template-columns:30% 70%;align-items:center;gap:0;margin:0 5%;padding:33px 0;display:grid}.finder-label small{letter-spacing:1.5px;color:var(--muted);font-size:9px}.finder-label h2{letter-spacing:.04em;margin-top:8px;font-size:19px}.finder-fields{grid-template-columns:1fr 1fr 1.25fr;align-items:center;display:grid}.finder label{color:var(--muted);border-left:1px solid var(--line);padding:0 24px;font-size:10px}select{appearance:auto;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:0}select:focus{outline-offset:1px}.finder select{width:100%;margin-top:10px;font-size:14px}.finder-button{background:#e8ebdf;justify-content:space-between;align-items:center;margin-left:15px;padding:22px;font-size:12px;display:flex}.finder-button:hover{background:#dbe2cc}.section{padding:96px 7%}.section-top{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.section-top h2{letter-spacing:.06em;margin-top:20px;font-size:31px}.section-top>p{color:var(--muted);font-size:12px;line-height:2}.service-tabs{border-bottom:1px solid #bec7b8;grid-template-columns:repeat(3,1fr);margin-top:44px;display:grid}.service-tabs button{border-bottom:2px solid #0000;align-items:center;gap:13px;padding:23px 25px;transition:background .2s;display:flex}.service-tabs button.active{border-color:var(--ink);background:#e8ebdf}.service-tabs .tab-num{color:var(--muted);align-self:flex-start;padding-top:5px;font-size:10px}.service-tabs button>span:nth-child(2){font-family:Noto Serif JP,serif;font-size:22px}.service-tabs button>small{letter-spacing:1.5px;color:var(--muted);font-size:10px}.service-tabs button>svg{margin-left:auto}.service-content{grid-template-columns:120px 1.8fr 1fr;align-items:center;gap:35px;padding:44px 0 35px;display:grid}.service-symbol{color:#7e8c71;flex-direction:column;align-items:center;gap:12px;display:flex}.service-symbol>span{letter-spacing:3px;font-size:9px}.service-description h3{margin-bottom:16px;font-size:23px}.service-description p{color:var(--muted);max-width:470px;font-size:12px;line-height:2.2}.text-link{border-bottom:1px solid var(--ink);align-items:center;gap:28px;margin-top:24px;padding:0 0 9px;font-size:12px;display:inline-flex}.text-link:hover{color:#7d8d69}.service-content ul{border-left:1px solid var(--line);margin:0;padding:12px 0 12px 28px;list-style:none}.service-content li{white-space:nowrap;align-items:center;gap:10px;margin:17px 0;font-size:11px;display:flex}.listing-note{color:var(--muted);border-top:1px solid var(--line);padding-top:20px;font-size:11px;line-height:1.8}.office{background:#eaece3;grid-template-columns:50% 50%;align-items:center;gap:0;padding:60px 7% 75px;display:grid}.office-photos{padding-right:50px;position:relative}.interior-photo{width:100%;padding:0;display:block;position:relative}.interior-photo img{object-fit:cover;width:100%;height:560px}.interior-photo>span{color:#fff;letter-spacing:1.3px;background:#203126cc;align-items:center;gap:20px;padding:15px 20px;font-size:9px;display:flex;position:absolute;bottom:18px;right:18px}.vertical-label{writing-mode:vertical-rl;letter-spacing:2px;color:#79836f;font-size:8px;position:absolute;top:0;right:20px}.office-copy{padding-left:45px}.office-copy h2{letter-spacing:.08em;margin:26px 0;font-size:39px;line-height:1.7}.office-copy>p{color:#64705e;margin:20px 0;font-size:13px;line-height:2.4}.office-detail{border-top:1px solid #ced3c5;border-bottom:1px solid #ced3c5;max-width:370px;margin-top:35px;padding:22px 0}.office-detail>span{align-items:center;gap:10px;font-size:13px;display:flex}.office-detail small{color:#6c7867;letter-spacing:2px;margin-top:12px;margin-left:28px;font-size:10px;display:block}.guide{padding-top:96px;padding-bottom:94px}.steps{grid-template-columns:repeat(3,1fr);gap:40px;margin-top:50px;display:grid}.steps>div{border-top:1px solid var(--line);padding-top:22px}.step-n{color:#9ba68c;font-family:Georgia,serif;font-size:38px}.steps h3{margin:20px 0 13px;font-size:21px}.steps p{color:var(--muted);max-width:285px;font-size:12px;line-height:2.1}.contact-banner{background:var(--ink);color:var(--paper);grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;padding:65px 7%;display:grid}.contact-banner .eyebrow{color:#b4bea5;font-size:9px}.contact-banner h2{letter-spacing:.06em;margin-top:22px;font-size:36px;line-height:1.7}.contact-banner p{color:#c8d0c1;margin-bottom:23px;font-size:12px;line-height:2.1}.light-button{color:var(--ink);background:#eef0e7;justify-content:space-between;align-items:center;gap:40px;min-width:320px;padding:22px 25px;font-size:13px;display:flex}.light-button:hover{background:#fff}.contact-banner small{color:#bbc4b4;margin-top:13px;font-size:10px;display:block}footer{padding:40px 5% 24px}.footer-main{align-items:center;gap:55px;padding-bottom:35px;display:flex}.footer-main>p{letter-spacing:.1em;font-family:Noto Serif JP,serif;font-size:15px}.footer-main>a:last-child{letter-spacing:1.5px;margin-left:auto;font-size:9px}.footer-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:25px;padding-top:20px;font-size:9px;line-height:1.8;display:flex}.footer-bottom>span{white-space:nowrap;letter-spacing:1px}.skip{z-index:20;background:#fff;padding:15px;position:absolute;top:-70px}.skip:focus{top:0}.mobile-only{display:none}dialog{color:var(--ink);background:var(--paper);border:0;max-height:90svh;padding:0}dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f1913a6}.contact-modal{width:min(590px,100% - 30px)}.modal-inner{padding:38px;position:relative}.close{z-index:1;background:var(--paper);padding:8px;display:flex;position:absolute;top:16px;right:16px}.modal-inner .eyebrow{padding-right:30px;font-size:9px}.modal-inner h2{margin-top:20px;padding-right:15px;font-size:24px;line-height:1.6}.modal-intro{color:var(--muted);margin:14px 0 22px;font-size:12px;line-height:1.8}.modal-inner label{margin-bottom:17px;font-size:11px;display:block}.modal-inner select,.modal-inner textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd3c6;margin-top:8px;padding:13px;font-size:13px}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.modal-inner textarea{resize:vertical;height:88px}.form-note,.copy-status{color:var(--muted);margin:15px 0;font-size:10px;line-height:1.8}.form-submit{width:100%;max-width:100%}.modal-inner .summary{white-space:pre-wrap;height:215px;margin-bottom:16px;line-height:2}.gallery-modal{background:0 0;max-width:95vw;overflow:visible}.gallery-modal img{object-fit:contain;width:auto;height:85svh}.gallery-modal .close{top:8px;right:8px}@media (width>=1500px){.header,.hero,.finder,.section,.office,.contact-banner,footer{max-width:1700px;margin-left:auto;margin-right:auto}.hero-copy{padding-left:12%}}@media (width<=1100px){.header{gap:20px}.nav{gap:17px;font-size:11px}.header-cta{gap:14px;padding:15px}.hero{min-height:620px}.hero-copy{padding-top:45px}.hero h1{font-size:45px}.finder{grid-template-columns:29% 71%}.finder label{padding:0 16px}.finder-button{padding:20px 14px;font-size:11px}.finder-label h2{font-size:17px}.service-content{grid-template-columns:80px 1.6fr 1fr;gap:23px}.service-content ul{padding-left:18px}.service-description h3{font-size:20px}.office-copy{padding-left:22px}.office-copy h2{font-size:32px}.section-top h2{font-size:28px}}@media (width<=800px){.header{gap:16px;height:82px;padding:0 5%}.brand b{font-size:24px}.brand small{font-size:8px}.brand-mark{transform-origin:0;margin-right:-4px;transform:scale(.85)}.nav{background:var(--paper);padding:25px;display:none;position:absolute;top:82px;left:0;right:0;box-shadow:0 15px 20px #0001}.nav.open{flex-direction:column;gap:23px;display:flex}.menu{padding:7px;display:flex}.header-cta{gap:12px;margin-left:auto;padding:12px;font-size:10px}.hero{grid-template-columns:50% 50%;height:650px;min-height:590px}.hero h1{letter-spacing:.05em;font-size:36px}.hero-copy{padding:42px 8% 25px 10%}.hero-lead{font-size:13px}.hero-description{font-size:12px}.hero .primary{gap:15px;padding:17px;font-size:11px}.hero-bottom>span{letter-spacing:1px;font-size:6px}.hero-caption{bottom:42px;left:22px}.hero-caption>span{font-size:15px}.hero-caption small{letter-spacing:.8px;font-size:6px}.image-number{font-size:14px;bottom:18px}.finder{grid-template-columns:1fr;gap:23px;padding:30px 0}.finder-label{align-items:center;gap:20px;display:flex}.finder-label h2{margin:0}.finder label:first-child{border-left:0;padding-left:0}.section{padding:70px 6%}.section-top h2{font-size:25px}.section-top>p{font-size:10px}.service-tabs button{gap:8px;padding:20px 12px}.service-tabs button>span:nth-child(2){font-size:20px}.service-content{grid-template-columns:70px 1fr}.service-content ul{border-left:0;flex-wrap:wrap;grid-column:2;gap:8px 20px;padding:0;display:flex}.service-content li{margin:0;font-size:10px}.office{grid-template-columns:48% 52%;padding:45px 6%}.office-photos{padding-right:25px}.vertical-label{right:8px}.interior-photo img{height:470px}.office-copy{padding-left:20px}.office-copy h2{margin:20px 0;font-size:27px}.office-copy>p{font-size:11px}.office-copy .eyebrow{letter-spacing:1px;font-size:9px}.office-detail{margin-top:22px;padding:18px 0}.office-detail>span{font-size:11px}.interior-photo>span{gap:12px;padding:12px;font-size:7px;bottom:12px;right:10px}.steps{gap:25px}.steps h3{font-size:19px}.contact-banner{grid-template-columns:1fr 1fr;gap:35px;padding:50px 6%}.contact-banner h2{font-size:27px}.contact-banner p{font-size:11px}.light-button{gap:15px;width:100%;min-width:0;padding:20px;font-size:11px}.footer-main{gap:30px}.footer-main>p{font-size:12px}}@media (width<=580px){html{scroll-padding-top:20px}.header{gap:7px;height:76px;padding:0 20px}.brand{gap:8px}.brand b{font-size:23px}.brand small{letter-spacing:2px;font-size:8px}.header-cta{gap:9px;padding:12px 10px;font-size:9px}.header-cta svg{width:13px}.menu{padding:6px}.nav{top:76px}.hero{flex-direction:column;height:auto;min-height:0;max-height:none;display:flex}.hero-copy{padding:35px 26px 30px;position:relative}.hero .eyebrow{font-size:9px}.hero h1{letter-spacing:.08em;margin:22px 0 18px;font-size:43px;line-height:1.5}.hero-lead{font-size:14px}.hero-description{margin:16px 0 24px;font-size:12px;line-height:2}.hero-description br:nth-child(2){display:none}.hero .primary{max-width:268px;padding:18px 21px;font-size:12px}.hero-bottom{padding:0;position:absolute;bottom:31px;right:23px}.hero-bottom>span{display:none}.hero-image{height:430px}.hero-image>img{object-position:center 47%}.photo-label{font-size:9px;top:24px;left:24px}.hero-caption{bottom:30px;left:24px}.hero-caption>span{font-size:20px}.hero-caption small{margin-top:10px;font-size:7px}.image-number{bottom:30px;right:23px}.finder{margin:0 24px;padding:30px 0}.finder-label{display:block}.finder-label h2{margin-top:8px;font-size:20px}.finder-fields{grid-template-columns:1fr 1fr;gap:22px 0}.finder label{padding:0 0 0 18px}.finder-button{grid-column:1/-1;margin-left:0;padding:18px 20px;font-size:12px}.section{padding:57px 24px}.section-top{display:block}.section-top h2{letter-spacing:.035em;margin-top:17px;font-size:28px;line-height:1.6}.section-top>p{margin-top:20px;font-size:11px;line-height:2}.mobile-only{display:block}.service-tabs{margin-top:29px}.service-tabs button{text-align:center;padding:18px 4px;display:block;position:relative}.service-tabs .tab-num{display:none}.service-tabs button>span:nth-child(2){font-size:20px;display:block}.service-tabs button>small{margin-top:5px;font-size:9px;display:block}.service-tabs button>svg{display:none}.service-content{grid-template-columns:1fr;gap:20px;padding:28px 0}.service-symbol{display:none}.service-description h3{font-size:21px;line-height:1.7}.service-description p{font-size:12px}.service-content ul{grid-column:1;display:block}.service-content li{margin:12px 0;font-size:11px}.listing-note{font-size:10px}.office{flex-direction:column-reverse;align-items:stretch;gap:33px;padding:45px 24px;display:flex}.office-copy{padding:0}.office-copy h2{margin:21px 0;font-size:32px}.office-copy>p{font-size:12px}.office-detail{max-width:none;margin-top:25px}.office-detail>span{font-size:12px}.office-photos{padding-right:22px}.interior-photo img{object-fit:contain;height:auto}.interior-photo>span{padding:14px;font-size:8px}.steps{grid-template-columns:1fr;gap:25px;margin-top:30px}.steps>div{padding:23px 0 0 56px;position:relative}.step-n{font-size:29px;position:absolute;top:25px;left:0}.steps h3{margin:0 0 10px;font-size:20px}.steps p{max-width:none;font-size:12px}.contact-banner{grid-template-columns:1fr;gap:28px;padding:45px 24px}.contact-banner h2{margin-top:20px;font-size:29px}.contact-banner p{font-size:12px}.light-button{padding:21px 23px;font-size:13px}.contact-banner small{text-align:center}footer{padding:34px 24px 24px}.footer-main{flex-wrap:wrap;gap:22px;padding-bottom:25px}.footer-main>p{display:none}.footer-main>a:last-child{font-size:8px}.footer-bottom{font-size:9px;display:block}.footer-bottom>span{margin-top:15px;font-size:8px;display:block}.modal-inner{padding:30px 22px}.modal-inner h2{font-size:22px}.modal-inner .eyebrow{letter-spacing:1px;font-size:8px}.modal-inner label{font-size:11px}.modal-inner select,.modal-inner textarea{font-size:16px}.form-row{gap:12px}.gallery-modal img{width:auto;height:auto;max-height:86svh}.gallery-modal{max-width:94vw}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
