@charset "UTF-8";
:root{--navy:#142f46;--navy-deep:#102739;--ink:#142f46;--muted:#5c6b75;--orange:#c14923;--orange-hover:#a53b1a;--white:#fff;--line:#d9e0e4;--light:#f3f6f8;--font:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:var(--font);font-size:1rem;line-height:1.75;background:var(--white);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid #ed862c;outline-offset:5px}h1,h2,h3,p{margin:0}svg.icon{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.wrap{max-width:1240px;width:calc(100% - 96px);margin-inline:auto}.skip-link{position:fixed;top:12px;left:16px;z-index:100;padding:8px 18px;background:var(--white);transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}
.site-header{height:100px;border-bottom:1px solid var(--line);background:rgba(255,255,255,.97)}.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:13px}.brand-mark{background:var(--navy);color:#fff;width:45px;height:47px;display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:2.062rem;font-weight:800;letter-spacing:-4px;padding-right:4px;line-height:1}.brand-mark span{color:#eda168}.brand-copy{display:flex;flex-direction:column;gap:3px}.brand-name{font-size:1.125rem;font-weight:700;letter-spacing:.015em;line-height:1.5}.brand-office{font-size:0.75rem;color:var(--muted);letter-spacing:.06em}.desktop-nav{display:flex;gap:26px;font-size:0.875rem;margin-left:auto;font-weight:600}.desktop-nav a:hover{color:var(--orange)}.header-call{height:44px;padding:0 18px;display:flex;gap:9px;align-items:center;color:var(--orange);border:1px solid var(--orange);font-size:0.875rem;font-weight:700;transition:background .2s}.header-call:hover{background:#fff3ec}.header-call .icon{width:17px;height:17px}
.hero{background:#f8fafb;overflow:hidden}.hero-inner{display:grid;grid-template-columns:1.06fr 1fr;gap:36px;min-height:662px;align-items:stretch;padding-block:36px}.hero-copy{padding-block:23px 15px;align-self:center;position:relative;z-index:1}.eyebrow{font-size:0.875rem;font-weight:600;letter-spacing:.02em;display:flex;align-items:center;gap:10px;margin-bottom:24px}.eyebrow>span{display:inline-block;width:22px;height:2px;background:var(--orange)}h1{font-size:clamp(2.125rem,3.65vw,3.0625rem);font-weight:800;line-height:1.5;letter-spacing:-.045em;margin-bottom:23px}h1>span{display:block}h1>.hero-area{font-size:.75em;letter-spacing:-.04em}.hero-description{font-size:1rem;line-height:1.95;color:#405563;letter-spacing:.015em}.mobile-break{display:none}.hero-contact{margin-top:29px;max-width:410px}.call-intro{font-size:0.875rem;font-weight:600;margin-bottom:8px}.phone-button{display:flex;align-items:center;gap:14px;color:#fff;background:var(--orange);padding:15px 20px;min-height:76px;transition:background .2s,transform .2s;box-shadow:0 5px 15px #bc4b2014}.phone-button:hover{background:var(--orange-hover);transform:translateY(-2px)}.phone-button .phone-icon{width:27px;height:27px}.phone-number{font-family:Arial,sans-serif;font-weight:700;white-space:nowrap;font-size:1.938rem;letter-spacing:.015em;line-height:1.4}.phone-button .button-arrow{margin-left:auto;width:19px;height:19px}.phone-hours{font-size:0.75rem;color:var(--muted);margin-top:9px;white-space:nowrap}.phone-hours span{padding-inline:2px}.hero-credential{margin-top:23px;display:flex;align-items:center;gap:7px;font-size:0.8125rem;font-weight:500;color:#3c5262}.hero-credential .icon{width:17px;height:17px;stroke-width:2}.hero-visual{position:relative;min-width:0;overflow:hidden;background:#7a8b9d;isolation:isolate;min-height:590px}.hero-photo{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:76% center}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#10263830 0%,transparent 35%,#0922388c 100%);z-index:1}.photo-caption{position:absolute;z-index:2;left:30px;top:28px;color:#fff;text-shadow:0 1px 8px #0003}.photo-kicker{display:block;font-family:Arial,sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:.2em;margin-bottom:14px}.photo-caption p{font-size:1.812rem;letter-spacing:.03em;font-weight:500;line-height:1.55}.photo-location{font-family:Arial,sans-serif;display:block;margin-top:14px;font-size:0.75rem;letter-spacing:.17em}.visual-tag{position:absolute;z-index:2;left:24px;right:24px;bottom:24px;border-top:1px solid #ffffff80;padding-top:17px;color:#fff;display:flex;align-items:center;gap:17px}.visual-tag>span{font-weight:700;font-size:1.188rem}.visual-tag>span+span{border-left:1px solid #ffffff60;padding-left:17px}.visual-tag small{font-size:0.75rem;margin-left:auto;white-space:nowrap}
.section{padding-block:69px 62px}.section-kicker{font-family:Arial,sans-serif;font-size:0.75rem;font-weight:700;letter-spacing:.15em;color:var(--orange);margin-bottom:11px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:28px;margin-bottom:32px}h2{font-size:1.75rem;line-height:1.55;letter-spacing:-.025em;font-weight:700}.section-heading>p{font-size:0.8125rem;color:var(--muted);padding-bottom:3px}.services-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:27px 28px}.service{padding-inline:25px;border-right:1px solid var(--line)}.service:first-child{padding-left:0}.service:last-child{padding-right:0;border-right:0}.service-number{font-size:0.8125rem;font-family:Arial,sans-serif;display:block;font-weight:700;color:var(--orange);letter-spacing:.1em;margin-bottom:12px}.service h3{font-size:1.188rem;line-height:1.6;margin-bottom:11px;font-weight:700}.service p{font-size:0.875rem;line-height:1.8;color:var(--muted)}.area-note{margin-top:25px;display:flex;gap:23px;align-items:center}.area-label{font-size:0.8125rem;font-weight:600;border:1px solid var(--line);padding:7px 12px;white-space:nowrap}.area-note>p{font-size:0.8125rem;line-height:1.85;color:var(--muted)}.area-note strong{color:var(--ink);font-weight:600}.area-note .area-small{margin-left:auto;font-size:0.75rem;text-align:right}
.fees-section{background:var(--light);padding-block:61px}.fees-inner{display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.fees-intro h2{font-size:2rem;line-height:1.6}.fees-intro>p:not(.section-kicker){font-size:0.875rem;line-height:1.9;color:var(--muted);margin-top:20px}.text-link{display:inline-flex;align-items:center;gap:20px;border-bottom:1px solid var(--ink);padding-block:8px;font-size:0.875rem;font-weight:700;margin-top:18px}.text-link .icon{width:18px;height:18px}.text-link:hover{color:var(--orange);border-color:var(--orange)}.fees-table-label{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:2px solid var(--navy);padding-bottom:12px}.fees-table-label h3{font-size:1.125rem}.fees-table-label>span{font-size:0.75rem;color:var(--muted)}.fee-list{margin:0}.fee-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:16px 0;border-bottom:1px solid #d0d9df}.fee-row dt{font-weight:600;font-size:1rem}.fee-row dt small{font-weight:400;display:block;font-size:0.75rem;color:var(--muted);margin-top:3px}.fee-row dd{margin:0;display:flex;gap:5px;align-items:baseline;white-space:nowrap}.fee-row dd strong{font-family:Arial,sans-serif;font-size:1.875rem;letter-spacing:-.02em;line-height:1.3}.fee-row dd>span{font-size:0.8125rem}.fee-notes{font-size:0.75rem;color:var(--muted);line-height:1.8;margin-top:16px}
.contact-section{background:var(--navy);color:white;padding-block:56px 59px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.contact-section .section-kicker{color:#efaa7b}.contact-copy h2{font-size:1.812rem;line-height:1.65}.contact-copy>p:not(.section-kicker){font-size:0.875rem;color:#d0dbe3;line-height:1.9;margin-top:17px}.contact-copy .contact-person{margin-top:20px}.contact-person strong{color:white;font-size:1.062rem;font-weight:600;padding-inline:5px}.contact-call{border-left:1px solid #ffffff30;padding-left:56px}.contact-label{font-size:0.875rem;color:#dae2e9}.contact-number{font-size:2.25rem;font-family:Arial,sans-serif;font-weight:700;display:flex;align-items:center;gap:16px;letter-spacing:.005em;line-height:1.5;margin-top:7px;white-space:nowrap}.contact-number:hover{color:#ffd4b3}.contact-number .icon{width:27px;height:27px}.contact-call>p{font-size:0.75rem;color:#cad6e0;margin-top:3px}.contact-action{display:flex;align-items:center;justify-content:space-between;max-width:388px;padding:14px 22px;min-height:55px;background:#fff;color:var(--navy);font-size:0.9375rem;font-weight:700;margin-top:24px;transition:background .2s}.contact-action:hover{background:#e5eef5}.contact-action .icon{width:19px;height:19px}
.site-footer{padding-block:30px 29px}.footer-inner{display:flex;justify-content:space-between;align-items:center;gap:28px}.footer-title{font-size:0.9375rem;font-weight:700;margin-bottom:7px}.footer-inner>div>p:not(.footer-title){font-size:0.75rem;color:var(--muted);line-height:1.9}.footer-right{text-align:right}.footer-right>a{display:flex;gap:8px;align-items:center;font-size:0.75rem;font-weight:500}.footer-right>a:hover{color:var(--orange)}.footer-right .icon{width:13px;height:13px}.footer-right small{display:block;color:var(--muted);font-size:0.75rem;margin-top:14px}.mobile-call-bar{display:none}
@media(min-width:1500px){.hero-inner{gap:52px}.hero-visual{min-height:620px}.hero-copy{padding-block:36px}.hero-contact{margin-top:34px}}
@media(max-width:1150px){.wrap{width:calc(100% - 64px)}.desktop-nav{gap:17px}.brand-name{font-size:1rem}.brand{gap:10px}.header-inner{gap:18px}.header-call{padding:0 12px}.hero-inner{gap:24px;min-height:610px;padding-block:30px}.hero-visual{min-height:550px}h1{font-size:3.7vw}.hero-contact{max-width:385px}.phone-button{padding-inline:16px;gap:11px}.phone-number{font-size:1.75rem}.phone-hours{font-size:0.75rem;white-space:normal}.hero-credential{font-size:0.75rem}.photo-caption{left:25px}.photo-caption p{font-size:1.625rem}.visual-tag{gap:12px;left:20px;right:20px}.visual-tag>span{font-size:1.062rem}.visual-tag>span+span{padding-left:12px}.section-heading>p{max-width:220px;font-size:0.75rem}.service{padding-inline:18px}.service h3{font-size:1.062rem}.fees-inner{gap:50px}.contact-inner{gap:35px}.contact-call{padding-left:35px}.contact-number{font-size:1.875rem;gap:11px}}
@media(max-width:920px){.desktop-nav{display:none}.brand-name{font-size:1.125rem}.hero-inner{grid-template-columns:1.1fr 1fr;gap:20px}.hero-visual{min-height:540px}.eyebrow{font-size:0.75rem;gap:7px;margin-bottom:20px}.eyebrow>span{width:13px}h1{font-size:3.8vw;letter-spacing:-.055em}.hero-description{font-size:0.875rem}.phone-button{padding-inline:13px;gap:9px;min-height:66px}.phone-number{font-size:1.562rem}.phone-button .phone-icon{width:22px;height:22px}.phone-button .button-arrow{display:none}.call-intro{font-size:0.75rem}.hero-credential{font-size:0.75rem}.photo-caption{left:20px;top:24px}.photo-kicker{font-size:0.75rem;letter-spacing:.12em}.photo-caption p{font-size:1.5rem}.visual-tag{gap:10px;flex-wrap:wrap}.visual-tag>span+span{padding-left:10px}.visual-tag small{font-size:0.75rem;margin-left:0}.section-heading h2{font-size:1.562rem}.section-heading>p{display:none}.service h3{font-size:1rem}.service p{font-size:0.875rem}.area-note .area-small{display:none}.fees-inner{gap:35px;grid-template-columns:.65fr 1fr}.fees-intro h2{font-size:1.75rem}.fee-row dt{font-size:0.875rem}.fee-row dd strong{font-size:1.688rem}.contact-copy h2{font-size:1.562rem}.contact-inner{gap:26px}.contact-call{padding-left:26px}.contact-number{font-size:1.688rem;gap:9px}.contact-number .icon{width:22px;height:22px}.contact-label{font-size:0.75rem}}
@media(max-width:700px){html{scroll-padding-top:20px}.wrap{width:calc(100% - 40px)}.site-header{height:81px}.header-inner{gap:12px}.brand{gap:9px}.brand-mark{width:34px;height:38px;font-size:1.688rem;flex-shrink:0}.brand-name{font-size:0.8125rem;letter-spacing:-.04em}.brand-office{font-size:0.75rem;letter-spacing:0}.brand-copy{gap:4px}.header-call{padding:0;width:38px;height:38px;justify-content:center;flex-shrink:0}.header-call span{display:none}.header-call .icon{width:18px;height:18px}.hero-inner{display:flex;flex-direction:column;gap:28px;padding-block:31px 25px;min-height:0}.hero-copy{align-self:stretch;padding:0}.eyebrow{font-size:0.8125rem;margin-bottom:19px;gap:8px}.eyebrow>span{width:18px}h1{font-size:clamp(1.8125rem,7.95vw,3rem);line-height:1.46;letter-spacing:-.055em;margin-bottom:19px}.hero-description{font-size:0.9375rem;line-height:1.85}.hero-contact{max-width:none;margin-top:24px}.call-intro{font-size:0.8125rem;margin-bottom:8px}.phone-button{justify-content:center;min-height:70px;gap:13px;padding:14px 16px}.phone-number{font-size:1.938rem}.phone-button .phone-icon{width:24px;height:24px}.phone-button .button-arrow{display:block;width:18px;height:18px;margin-left:8px}.phone-hours{font-size:0.75rem;margin-top:9px;text-align:center;line-height:1.7}.phone-hours span{padding-inline:0}.hero-credential{font-size:0.75rem;margin-top:18px;justify-content:center}.hero-visual{min-height:0;height:300px;width:100%;align-self:stretch}.hero-photo{object-position:60% 62%}.photo-caption{left:20px;top:20px}.photo-kicker{font-size:0.75rem;margin-bottom:10px}.photo-caption p{font-size:1.438rem}.photo-location{display:none}.photo-shade{background:linear-gradient(180deg,#08233860 0%,transparent 45%,#092238a0 100%)}.visual-tag{left:20px;right:20px;bottom:17px;padding-top:13px;gap:15px;flex-wrap:nowrap}.visual-tag>span{font-size:1.062rem}.visual-tag>span+span{padding-left:15px}.visual-tag small{margin-left:auto;font-size:0.75rem}.section{padding-block:42px}.section-kicker{font-size:0.75rem;margin-bottom:10px}.section-heading{margin-bottom:23px}.section-heading h2{font-size:1.438rem;line-height:1.55;max-width:15em}.services-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0;border-top:0;border-bottom:0;gap:0}.service{padding:20px 15px 23px;border-top:1px solid var(--line);border-right:0}.service:nth-child(odd){padding-left:0;padding-right:20px;border-right:1px solid var(--line)}.service:nth-child(even){padding-left:20px;padding-right:0}.service:nth-child(-n+2){margin-bottom:0}.service-number{margin-bottom:9px;font-size:0.75rem}.service h3{font-size:1.062rem;margin-bottom:9px}.service p{font-size:0.875rem;line-height:1.8}.area-note{margin-top:0;padding-top:22px;border-top:1px solid var(--line);align-items:flex-start;gap:13px;flex-direction:column}.area-label{font-size:0.75rem;padding:4px 10px}.area-note>p{font-size:0.8125rem;line-height:1.9}.fees-section{padding-block:40px}.fees-inner{grid-template-columns:1fr;gap:29px}.fees-intro h2{font-size:1.625rem;line-height:1.6}.fees-intro h2 br{display:none}.fees-intro>p:not(.section-kicker){font-size:0.875rem;margin-top:12px}.fees-intro>p:not(.section-kicker) br{display:none}.text-link{margin-top:9px;font-size:0.8125rem;padding-block:6px}.fees-table-label h3{font-size:1.062rem}.fee-row{padding-block:15px}.fee-row dt{font-size:0.875rem}.fee-row dt small{font-size:0.75rem;max-width:15em}.fee-row dd strong{font-size:1.812rem}.fee-row dd>span{font-size:0.75rem}.fee-notes{font-size:0.75rem;margin-top:14px}.contact-section{padding-block:38px 41px}.contact-inner{grid-template-columns:1fr;gap:28px}.contact-copy h2{font-size:1.625rem}.contact-copy>p:not(.section-kicker){font-size:0.875rem;margin-top:14px}.contact-copy .contact-person{margin-top:15px}.contact-call{padding-left:0;border-left:0;border-top:1px solid #ffffff30;padding-top:23px}.contact-label{font-size:0.8125rem}.contact-number{font-size:2.125rem;gap:13px;margin-top:5px}.contact-number .icon{width:25px;height:25px}.contact-call>p{font-size:0.75rem;margin-top:5px}.contact-action{max-width:none;margin-top:20px}.site-footer{padding-block:26px calc(105px + env(safe-area-inset-bottom,0px))}.footer-inner{flex-direction:column;align-items:flex-start;gap:20px}.footer-title{font-size:0.875rem}.footer-inner>div>p:not(.footer-title){font-size:0.75rem}.footer-right{text-align:left}.footer-right small{margin-top:14px}.mobile-call-bar{position:fixed;inset:auto 0 0;z-index:10;display:flex;gap:16px;justify-content:space-between;align-items:center;background:#fff;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);box-shadow:0 -4px 20px #142f460b}.mobile-call-bar>div{display:flex;flex-direction:column;gap:1px;flex-shrink:0}.mobile-call-bar span{font-size:0.75rem;color:var(--muted)}.mobile-call-bar strong{font-size:0.8125rem;font-weight:600}.mobile-call-bar>a{background:var(--orange);color:#fff;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 16px;min-height:47px;font-size:0.875rem;font-weight:700;flex:1;max-width:270px}.mobile-call-bar .icon{width:18px;height:18px}}
@media(max-width:370px){.wrap{width:calc(100% - 32px)}.brand-name{font-size:0.75rem}.brand-office{font-size:0.75rem}.brand-mark{width:30px;height:34px}.brand{gap:7px}.header-inner{gap:8px}.header-call{width:32px;height:34px}.eyebrow{font-size:0.75rem}h1{font-size:8vw}.hero-description{font-size:0.875rem}.phone-number{font-size:1.75rem}.phone-button{gap:10px}.phone-button .button-arrow{margin-left:0}.phone-hours{font-size:0.75rem}.mobile-break{display:block}.visual-tag{gap:11px}.visual-tag>span+span{padding-left:11px}.visual-tag>span{font-size:0.9375rem}.visual-tag small{font-size:0.75rem}.service h3{font-size:0.9375rem}.service:nth-child(odd){padding-right:14px}.service:nth-child(even){padding-left:14px}.fees-intro h2{font-size:1.5rem}.fee-row dd strong{font-size:1.562rem}.fee-row{gap:8px}.fee-row dt{font-size:0.8125rem}.contact-number{font-size:1.812rem;gap:10px}.contact-copy h2{font-size:1.5rem}.contact-copy>p:not(.section-kicker){font-size:0.8125rem}.mobile-call-bar{padding-inline:16px;gap:12px}.mobile-call-bar>a{font-size:0.8125rem;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}

/* Keep content flexible with larger browser text. */
.brand,.brand-copy{min-width:0}.site-header{height:auto;min-height:100px}.header-inner{min-height:100px;padding-block:15px}.phone-number{font-size:min(1.9375rem,7.8vw)}.contact-number{font-size:min(2.25rem,8.3vw)}
@media(max-width:700px){.site-header,.header-inner{min-height:81px}.brand-office{font-size:.75rem}.photo-kicker{font-size:.75rem;letter-spacing:.08em}.mobile-call-bar span{font-size:.75rem}}
@media(min-width:701px) and (max-width:1000px){.hero-visual{min-height:460px;max-height:510px;align-self:center;height:100%}.photo-caption p{font-size:1.5rem}.phone-number{font-size:1.5rem}}
