@charset "UTF-8";
:root{--navy:#04163f;--gold:#e4a826;--ink:#142443;--muted:#566278;--line:#dce1e9;--light:#f4f6f9;--white:#fff;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--navy);font-family:var(--sans);font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{max-width:100%;height:auto;display:block}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #b47708;outline-offset:5px}::selection{background:#f6deb0}.wrap{width:min(1184px,calc(100% - 96px));margin-inline:auto}.skip-link{position:fixed;top:-90px;left:24px;background:var(--navy);color:white;padding:12px 24px;z-index:100}.skip-link:focus{top:12px}.site-header{height:108px;display:flex;align-items:center;justify-content:space-between;gap:30px;position:relative;z-index:5}.brand{width:184px;flex:none}.site-header nav{display:flex;align-items:center;gap:36px;font-size:.875rem;font-weight:600}.site-header nav a{padding:10px 0}.site-header .nav-contact{padding:12px 21px;border:1px solid var(--navy);display:flex;align-items:center;gap:24px}.nav-contact:hover{background:var(--navy);color:white}.hero{min-height:685px;position:relative;display:grid;grid-template-columns:1.15fr 1fr;align-items:center;padding-top:43px;padding-bottom:96px;isolation:isolate}.eyebrow{font-size:.875rem;letter-spacing:.06em;display:flex;align-items:center;gap:13px;font-weight:600;margin:0 0 27px}.gold-line{width:30px;height:2px;background:var(--gold);flex:none}h1{font-family:var(--serif);font-size:clamp(3.2rem,5.7vw,5rem);font-weight:600;line-height:1.42;letter-spacing:.045em;margin:0 0 28px;white-space:nowrap}.period{color:var(--gold)}.hero-description{font-size:1rem;line-height:2.05;color:var(--muted);margin:0 0 32px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;padding:17px 26px;background:var(--navy);color:white;border:1px solid var(--navy);font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.button:hover{background:#142c58;transform:translateY(-2px)}.button span{font-size:1.2rem}.hero-note{font-size:.75rem;letter-spacing:.06em;color:var(--muted);margin:16px 0 0}.hero-visual{aspect-ratio:1;position:relative;display:grid;place-items:center;transform:translate(6%, -3%);z-index:-1}.hero-visual:before{content:"";position:absolute;inset:-12%;background:radial-gradient(ellipse,#edf1f7 0,rgba(246,248,251,.5) 45%,transparent 70%);z-index:-2}.orbit{position:absolute;border:1px solid #cbd2df;border-radius:50%;width:95%;height:74%;transform:rotate(-37deg)}.orbit-two{width:74%;height:95%;transform:rotate(-37deg);border-color:#dfe4ec}.orbit-three{width:106%;height:106%;border:1px dashed #e0e4eb;transform:rotate(0)}.symbol-disc{width:58%;aspect-ratio:1;border-radius:50%;background:white;display:grid;place-items:center;box-shadow:0 25px 70px #04163f0a;border:1px solid #edf0f5}.symbol-disc img{width:50%;transform:translateY(-1%)}.orbit-dot{position:absolute;border-radius:50%;width:15px;height:15px;background:var(--gold);box-shadow:0 0 0 9px #fff9;z-index:2}.dot-one{left:12%;top:32%}.dot-two{right:12%;bottom:26%;width:9px;height:9px;background:var(--navy);box-shadow:0 0 0 7px #fff9}.visual-caption{position:absolute;bottom:-9%;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:21px;font-size:.75rem;letter-spacing:.12em;color:var(--muted)}.hero-bottom a{display:flex;gap:18px}.hero-bottom a span{color:var(--navy)}.section{padding:112px 0}.philosophy{background:var(--light)}.split{display:grid;grid-template-columns:1fr 1fr;gap:76px}.section-label{font-family:var(--sans);font-size:.75rem;letter-spacing:.15em;font-weight:600;color:var(--muted);margin:0 0 25px}h2{font-family:var(--serif);font-size:clamp(1.8rem,3vw,2.65rem);line-height:1.65;font-weight:600;letter-spacing:.04em;margin:0}h3{font-size:1.35rem;line-height:1.7;margin:0 0 18px}.prose{color:var(--muted)}.prose p{margin:0 0 26px}.prose p:last-child{margin-bottom:0}.site-footer{padding:48px 0;background:var(--navy);color:white}.site-footer img{width:160px}.site-footer p{font-family:var(--serif);font-size:1rem}.site-footer small{font-size:.75rem;color:#c0c8d8}
@media(min-width:1400px){.hero{min-height:735px}.hero-visual{max-width:485px}}
@media(max-width:900px){.wrap{width:calc(100% - 48px)}.site-header{height:90px}.brand{width:155px}.site-header nav{gap:18px}.hero{min-height:640px;grid-template-columns:1.2fr .8fr}.hero-visual{transform:translate(0,-5%)}h1{font-size:clamp(2.7rem,6.3vw,4.3rem)}.split{gap:35px}.section{padding:80px 0}.hero-note{max-width:300px}.visual-caption{display:none}}
@media(max-width:600px){html{scroll-padding-top:25px}.wrap{width:calc(100% - 40px)}.site-header{height:82px;gap:16px}.brand{width:137px}.site-header nav>a:first-child{display:none}.site-header .nav-contact{font-size:.75rem;gap:12px;padding:8px 12px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:38px;padding-bottom:82px;min-height:auto}.eyebrow{font-size:.75rem;gap:10px;margin-bottom:22px}h1{font-size:clamp(2.5rem,9.9vw,3.6rem);letter-spacing:.02em;margin-bottom:22px}.hero-description{font-size:1rem;line-height:2}.hero-visual{width:65%;max-width:280px;margin:34px auto 22px;transform:none}.hero-note{font-size:.75rem}.hero-bottom{font-size:.75rem;letter-spacing:.04em;bottom:16px}.hero-bottom a{gap:8px}.button{padding:15px 23px;gap:30px}.split{grid-template-columns:1fr;gap:32px}.section{padding:64px 0}.section-label{margin-bottom:17px}h2{font-size:1.9rem}.prose{font-size:1rem}.desktop-break{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Full-page sections */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-actions{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.hero-actions>span{font-size:.75rem;color:var(--muted)}.section-heading{display:grid;grid-template-columns:1fr 1fr;gap:76px;align-items:end}.section-intro{font-size:1rem;line-height:2;color:var(--muted);margin:0 0 8px}.preparing{margin:40px 0 30px;display:flex;align-items:center;gap:14px;font-size:.875rem;color:var(--muted)}.preparing>span{border:1px solid #c7ad7c;color:#785518;padding:3px 10px;white-space:nowrap;font-size:.75rem}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.support-item{padding:33px 32px 26px 0;position:relative}.support-item+.support-item{border-left:1px solid var(--line);padding-left:32px}.item-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:42px}.item-number{font-family:Georgia,serif;font-size:2.6rem;color:#a9b1c1;line-height:1}.item-verb{font-size:.875rem;letter-spacing:.15em}.item-verb:before{content:"";display:inline-block;width:6px;height:6px;background:var(--gold);border-radius:50%;margin-right:10px}.support-item p{font-size:1rem;color:var(--muted);line-height:2;margin:0 0 30px}.item-foot{font-size:.875rem;padding-top:18px;border-top:1px solid var(--line)}.support-outcome{display:flex;align-items:center;gap:20px;padding-top:26px}.support-outcome p{margin:0;font-size:1rem}.support-outcome strong{font-weight:600}.support-outcome a{margin-left:auto;font-size:.875rem;border-bottom:1px solid var(--navy);padding-bottom:4px}.support-outcome a span{margin-left:12px}.about{background:#f4f6f9}.about-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:85px;align-items:center}.about-graphic{padding:44px;background:var(--navy);color:white;position:relative;min-height:460px;display:flex;flex-direction:column;justify-content:space-between}.about-graphic .section-label{color:#bac4d7}.about-statement{font-family:var(--serif);font-size:2rem;line-height:1.85;letter-spacing:.06em;margin:14px 0 30px}.about-signature{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;border-top:1px solid #ffffff30;padding-top:20px}.about-signature span{font-size:.75rem;letter-spacing:.12em;color:#bec8d8}.about-signature img{width:45px;background:white;padding:8px;border-radius:50%;box-sizing:content-box}.about-copy h2{font-size:2.05rem}.person-name{font-family:var(--serif);font-size:1.55rem;margin:26px 0 22px}.person-name span{display:inline-block;font-family:var(--sans);font-size:.75rem;letter-spacing:.04em;color:var(--muted);margin-left:14px}.about-copy .prose{font-size:1rem}.text-link{display:inline-flex;align-items:center;gap:26px;border-bottom:1px solid currentColor;padding-bottom:5px;font-size:.875rem}.about-copy .text-link{margin-top:25px}.text-link:hover{color:#866017}.company .split{grid-template-columns:.8fr 1.2fr}.company-caption{font-size:.875rem;color:var(--muted);margin-top:22px}.company-list{margin:0}.company-list>div{display:grid;grid-template-columns:118px 1fr;gap:15px;padding:20px 0;border-bottom:1px solid var(--line)}.company-list>div:first-child{border-top:1px solid var(--line)}.company-list dt{font-size:.875rem;color:var(--muted)}.company-list dd{margin:0;font-size:1rem}.company-list dd small{font-size:.875rem;color:var(--muted)}.placeholder{color:var(--muted)}.placeholder span{font-size:.75rem;display:inline-block;margin-left:8px;padding:0 5px;border:1px solid #c9ced7}.contact{background:#ecf0f6;border-top:1px solid var(--line)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px}.contact h2{font-size:2.1rem}.contact-copy>p:not(.section-label){color:var(--muted);font-size:1rem;margin:25px 0}.consultation{display:flex;flex-direction:column;border-top:1px solid #cdd4df;border-bottom:1px solid #cdd4df;padding:19px 0;gap:3px}.consultation strong{font-size:1.15rem;font-weight:600}.consultation span{font-size:.875rem;color:var(--muted)}.flow{list-style:none;padding:0;margin:27px 0 0}.flow li{display:flex;gap:18px;align-items:baseline;margin-bottom:20px}.flow li>span{font-family:Georgia,serif;color:#8b6825;font-size:.875rem}.flow strong{font-size:.875rem;font-weight:600}.flow p{margin:2px 0 0;font-size:.875rem;color:var(--muted)}.form-panel{background:white;padding:32px}.preview-notice{font-size:.875rem;padding:14px 16px;background:#faf6eb;border-left:2px solid var(--gold);color:#655126;margin:0 0 26px;line-height:1.8}.form-field{margin:0 0 22px}.form-field label{display:block;font-size:.875rem;font-weight:600;margin-bottom:8px}.required,.optional{font-size:.75rem;font-weight:400;margin-left:10px;color:var(--muted)}.required{color:#846022}.form-field input,.form-field textarea{width:100%;padding:12px 13px;background:#f8f9fb;border:1px solid #ccd3df;border-radius:0;font-size:1rem;color:var(--navy);line-height:1.6}.form-field textarea{resize:vertical;min-height:132px}.form-field input::placeholder,.form-field textarea::placeholder{color:#747d8d;font-size:.875rem}.consent{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;margin-bottom:25px}.consent input{margin-top:5px;width:18px;height:18px;flex:none;accent-color:var(--navy)}.consent a{border-bottom:1px solid}.form-submit{width:100%;font-size:1rem}.form-submit:disabled{opacity:.5;cursor:not-allowed}.form-status{font-size:.875rem;margin:16px 0 0}.form-status:empty{display:none}.footer-top{display:flex;justify-content:space-between;gap:30px}.footer-links{display:flex;gap:26px;align-items:flex-start;flex-wrap:wrap;font-size:.875rem;color:#d2d9e6}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:28px;border-top:1px solid #ffffff24;margin-top:30px}.footer-bottom small{font-size:.75rem}dialog{border:1px solid var(--line);padding:0;color:var(--navy);width:min(600px,calc(100% - 32px));max-height:85dvh;box-shadow:0 20px 80px #04163f30}dialog::backdrop{background:#04163f90;backdrop-filter:blur(3px)}.dialog-inner{padding:32px}.dialog-inner h2{font-size:1.8rem}.dialog-note{font-size:.875rem;color:var(--muted)}.confirmation-details{margin:25px 0}.confirmation-details>div{border-top:1px solid var(--line);padding:12px 0}.confirmation-details dt{font-size:.75rem;color:var(--muted)}.confirmation-details dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-wrap;font-size:1rem}.dialog-actions{display:flex;justify-content:flex-end;gap:12px;flex-wrap:wrap}.dialog-actions .button{padding:12px 18px;font-size:.875rem}.button-outline{background:white;color:var(--navy)}.button-outline:hover{background:var(--light)}.menu-toggle{display:none}.privacy-main{max-width:800px;padding-top:60px;padding-bottom:90px}.privacy-main h1{font-size:2.5rem;white-space:normal}.privacy-main h2{font-size:1.45rem;margin-bottom:14px}.privacy-main section{margin:36px 0}.privacy-main section p{color:var(--muted)}
@media(max-width:1050px){.site-header nav{gap:20px}.about-grid{gap:44px}.about-graphic{padding:32px}.contact-grid{gap:36px}.contact h2{font-size:1.8rem}.section-heading{gap:35px}.support-item{padding-right:20px}.support-item+.support-item{padding-left:20px}.support-item h3{font-size:1.2rem}.footer-links{gap:18px}}
@media(max-width:760px){.site-header{flex-wrap:wrap;height:auto;min-height:85px;padding-top:20px;padding-bottom:20px}.site-header nav{width:100%;flex-wrap:wrap;padding-top:15px}.js .menu-toggle{display:block;border:0;background:transparent;color:var(--navy);font-size:.875rem;padding:9px 0 9px 12px;cursor:pointer}.menu-toggle span{font-size:1.15rem;margin-left:10px}.js #site-nav{display:none}.js #site-nav.is-open{display:flex;position:absolute;top:100%;left:0;right:0;background:white;padding:20px;box-shadow:0 15px 25px #04163f12;z-index:10;flex-direction:column;align-items:stretch}.site-header nav>a:first-child{display:block}.site-header .nav-contact{font-size:.875rem;padding:12px 16px}.section-heading,.about-grid,.contact-grid,.company .split{grid-template-columns:1fr;gap:30px}.section-intro{margin-top:0}.section-intro br{display:none}.preparing{align-items:flex-start;flex-direction:column;gap:10px;margin-top:30px}.support-grid{grid-template-columns:1fr}.support-item,.support-item+.support-item{padding:28px 0;border-left:0}.support-item+.support-item{border-top:1px solid var(--line)}.item-top{margin-bottom:22px}.item-number{font-size:2.15rem}.support-item h3{font-size:1.3rem}.support-item p{margin-bottom:18px}.item-foot{border-top:0;padding-top:0}.support-outcome{flex-wrap:wrap;gap:12px}.support-outcome p{font-size:1rem}.support-outcome a{margin-left:42px;margin-top:3px}.about-graphic{min-height:340px;max-width:none}.about-statement{font-size:1.8rem}.about-copy h2{font-size:1.9rem}.company-list>div{grid-template-columns:82px 1fr;gap:12px}.company-caption{margin-bottom:0}.form-panel{padding:24px}.contact h2{font-size:1.9rem}.footer-top{flex-direction:column}.footer-bottom{flex-direction:column;gap:7px}.dialog-inner{padding:24px}.dialog-actions .button{flex:1;justify-content:center}.privacy-main{padding-top:35px}.privacy-main h1{font-size:1.8rem}.privacy-main .preview-notice{font-size:.875rem}}
@media(max-width:380px){.wrap{width:calc(100% - 32px)}h2,.about-copy h2,.contact h2{font-size:1.65rem}.form-panel{padding:18px}.person-name span{display:block;margin-left:0;margin-top:3px}.contact-copy>p br{display:none}.hero-description{font-size:.875rem}.company-list>div{grid-template-columns:75px 1fr}.dialog-inner{padding:20px}}
/* Contain the decorative orbit at tablet widths without clipping text. */
main{overflow:clip}
@media(min-width:761px) and (max-width:900px){.hero-visual{width:90%;justify-self:center}}

/* Keep service copy and consultation terms readable on small screens. */
.hero-description,.section-intro,.support-item p,.about-copy .prose,.contact-copy>p:not(.section-label),.prose{font-size:1rem}
.hero-actions>span,.preparing>span{font-size:.875rem}
