*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;color:#233d5b;background:#ffffff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-text-size-adjust:100%}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid #233d5b;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.55;overflow-wrap:break-word}p+p{margin-top:16px}.wrap{width:min(1080px,calc(100% - 64px));margin-inline:auto}.header{border-bottom:1px solid #f3f4f6}.header-main{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:27px 21px}.brand{text-decoration:none;font-weight:700;font-size:1.5rem;letter-spacing:.025em}.header-phone{display:flex;align-items:center;gap:16px;text-decoration:none;font-size:1.5rem;font-weight:700;white-space:nowrap;letter-spacing:.025em}.header-phone span{font-size:.875rem;font-weight:500;letter-spacing:0;color:#233d5b}.nav{display:flex;gap:36px;padding-bottom:17px}.nav a{font-size:.875rem;text-decoration:none;color:#233d5b;padding-block:5px}.nav a:hover,.text-link:hover{color:#233d5b;text-decoration:underline}.intro{padding:47px 0 40px}.eyebrow{font-size:.875rem;color:#233d5b;font-weight:700;letter-spacing:.05em;margin-bottom:13px}h1{font-size:2.5rem;letter-spacing:.01em;font-weight:700}.intro-note{margin-top:15px;color:#233d5b}.intro-note span{margin-left:1em}.section{padding:38px 0 44px;border-top:1px solid #f3f4f6}.services{padding-top:0;border-top:0}.section-label{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}h2{font-size:1.5rem;letter-spacing:.035em}.small{font-size:.875rem;color:#233d5b}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.service{padding:23px 24px 24px;border:1px solid #f3f4f6;border-radius:6px;text-decoration:none;transition:border-color .15s,background .15s}.service:hover{background:#f3f4f6;border-color:#233d5b}.service-hint{font-size:.875rem;color:#233d5b}.service h3{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:6px 0 10px;font-size:1.625rem;color:#233d5b}.service h3 span{font-size:1.125rem;font-weight:400}.service p{font-size:.875rem;line-height:1.9;color:#233d5b}.fees-layout{display:grid;grid-template-columns:.8fr 1.4fr;gap:70px}.fees-message{padding-top:5px}.free-label{font-size:.875rem;color:#233d5b}.free-price{display:flex;align-items:baseline;gap:14px;font-size:1rem;margin-top:2px}.free-price span{font-size:2.25rem;letter-spacing:.04em;font-weight:700;color:#233d5b}.fees-message>p:nth-of-type(3){font-size:.9375rem;margin-top:17px;color:#233d5b}.text-link{display:inline-flex;gap:25px;align-items:center;color:#233d5b;font-size:.9375rem;font-weight:600;text-decoration:none;margin-top:23px;min-height:44px}.fee-table{width:100%;border-collapse:collapse;text-align:left}.fee-table th,.fee-table td{border-bottom:1px solid #f3f4f6;padding:13px 8px}.fee-table th{font-weight:500;padding-left:0}.fee-table td:nth-child(2){font-size:.875rem;color:#233d5b}.fee-table td:last-child{text-align:right;padding-right:0;white-space:nowrap}.fee-table strong{font-size:1.25rem;font-weight:600}.fee-note{margin-top:15px}.profile-link{display:flex;align-items:center;justify-content:space-between;gap:24px;text-decoration:none;padding:8px 0 0}.profile-link h3{font-size:2.25rem;letter-spacing:.12em;margin:4px 0}.name-reading{font-size:.875rem;letter-spacing:.12em;color:#233d5b}.profile-more{color:#233d5b;font-size:.9375rem;display:flex;gap:28px;align-items:center}.profile-link:hover .profile-more{text-decoration:underline}.contact{padding-bottom:45px}.badge{color:#233d5b;background:#f3f4f6;font-size:.875rem;padding:3px 14px;border-radius:3px}.contact-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}.contact-phone{font-size:2.25rem;font-weight:700;letter-spacing:.025em;text-decoration:none;white-space:nowrap;line-height:1.5}.contact-phone span{display:block;letter-spacing:0;font-weight:400;margin-bottom:6px}.contact-address strong{font-size:1rem;font-weight:600}address{font-style:normal;font-size:.9375rem;color:#233d5b;margin-block:9px}.footer{display:flex;justify-content:space-between;gap:24px;padding-block:25px;border-top:1px solid #f3f4f6;font-size:.875rem;color:#233d5b}.footer a{text-decoration:none}.skip{position:absolute;left:12px;top:-100px;padding:12px;background:#ffffff;z-index:20}.skip:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.breadcrumbs{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;font-size:.875rem;color:#233d5b}.breadcrumbs a{text-decoration:none}.detail-heading{padding:26px 0 30px}.detail-heading .lead{color:#233d5b;max-width:760px;margin-top:15px}.article{max-width:760px;margin:0 auto 48px}.article h2{font-size:1.375rem;margin:32px 0 14px}.article h3{font-size:1.125rem;margin:24px 0 10px}.article p,.article li{color:#233d5b}.article ul{padding-left:24px}.article .rate{background:#f3f4f6;border-left:3px solid #233d5b;padding:20px 24px;margin:25px 0}.rate .amount{font-size:1.75rem;color:#233d5b;font-weight:700;margin:5px 0}.rate .small{margin-top:8px}.article .fee-table th{width:60%}.article .fee-table td{white-space:normal}.article .fee-table strong{font-size:1.0625rem}.article details{border-top:1px solid #f3f4f6;padding:16px 0}.article details:last-of-type{border-bottom:1px solid #f3f4f6}.article summary{cursor:pointer;font-weight:600;line-height:1.8;min-height:32px}.article details p{margin:12px 0 0;font-size:.9375rem}.article a{color:#233d5b}.profile-name{font-size:2.25rem!important;margin-top:0!important;letter-spacing:.1em}.bio{border-top:1px solid #f3f4f6}.bio>div{display:grid;grid-template-columns:115px 1fr;border-bottom:1px solid #f3f4f6;padding:15px 0;gap:18px}.bio dt{font-weight:500}.bio dd{margin:0;color:#233d5b}.source-link{margin-top:24px;font-size:.875rem;color:#233d5b}.detail .contact{margin-top:20px}.not-found{text-align:center;padding:80px 20px}.not-found a{color:#233d5b}

@media(max-width:850px){.wrap{width:calc(100% - 40px)}.brand{font-size:1.25rem}.header-phone{font-size:1.125rem;gap:8px}.header-main{gap:16px}.nav{gap:28px}h1{font-size:2rem}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.fees-layout{gap:32px;grid-template-columns:.8fr 1.2fr}.contact-phone{font-size:1.875rem}.intro-note span{display:block;margin-left:0}.contact-inner{gap:24px}}
@media(max-width:560px){.header-main{display:block;padding:20px 0 13px}.brand{font-size:1.1875rem;letter-spacing:0;display:block}.header-phone{margin-top:7px;font-size:1.1875rem;gap:14px}.nav{justify-content:space-between;gap:6px;padding-bottom:10px}.nav a{font-size:.875rem;min-height:40px;display:flex;align-items:center}.intro{padding:30px 0 29px}h1{font-size:1.8125rem;line-height:1.65;letter-spacing:0}.eyebrow{font-size:.875rem;margin-bottom:10px}.intro-note{font-size:.875rem;line-height:1.9;margin-top:12px}.section{padding:28px 0 32px}.services{padding-top:0}.section-label{margin-bottom:17px;align-items:baseline;flex-wrap:wrap;gap:5px 12px}h2{font-size:1.3125rem}.section-label .small{font-size:.875rem}.service-grid{gap:10px}.service,.service:nth-last-child(-n+2){padding:15px 14px 16px}.service-hint{font-size:.875rem;line-height:1.6;display:block}.service h3{font-size:1.375rem;margin:7px 0;gap:4px}.service p{font-size:.875rem;line-height:1.8}.service:last-child{padding:15px 14px}.fees-layout{grid-template-columns:1fr;gap:22px}.fees-message>p:nth-of-type(3){margin-top:10px}.fees-message>p:nth-of-type(3) br{display:none}.free-price span{font-size:2rem}.text-link{margin-top:10px}.fee-table th,.fee-table td{padding-block:12px}.fee-table th{font-size:.9375rem}.fee-table td:nth-child(2){font-size:.875rem}.fee-table strong{font-size:1.125rem}.profile-link{align-items:flex-start;flex-direction:column;gap:18px}.profile-link h3{font-size:2rem}.profile-more{min-height:36px}.contact-inner{grid-template-columns:1fr;gap:24px}.contact-phone{font-size:1.9375rem;letter-spacing:.01em}.footer{flex-direction:column;gap:12px;font-size:.875rem}.breadcrumbs{margin-top:18px}.detail-heading{padding:22px 0}.detail-heading .lead{font-size:.9375rem}.article{margin-bottom:32px}.article h2{margin-top:26px}.article .rate{padding:18px}.article .fee-table th{width:52%}.bio>div{grid-template-columns:1fr;gap:4px}.profile-name{font-size:2rem!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* White base, soft gray surfaces and navy accents. */
.header{border-top:5px solid #233d5b}.brand,h1,h2,.contact-phone{color:#233d5b}
.nav{border-top:1px solid #f3f4f6;padding-top:9px}
.service{background:#f3f4f6;border-color:#f3f4f6;border-top:3px solid #233d5b}
.service-grid{grid-auto-rows:1fr}.service,.service:nth-last-child(-n+2){padding-block:23px}
.hero-follow{display:block;font-size:.67em;font-weight:500;margin-top:9px;line-height:1.7}
.fees-message{background:#f3f4f6;padding:24px;border-radius:6px;align-self:start}
.profile-link{background:#f3f4f6;padding:25px 28px;border-radius:6px;border-left:3px solid #233d5b}
.contact-inner{background:#f3f4f6;padding:28px;border-radius:6px}
.aid-fee{display:block;font-size:.875rem;font-weight:400;color:#233d5b;white-space:normal;line-height:1.8;margin-top:4px}
.home .fee-table td:last-child{white-space:normal}.home .fee-table th{width:30%}.home .fee-table td:nth-child(2){width:24%}
.rate .amount .aid-fee{font-size:1rem}.bio dt{color:#233d5b}
@media(max-width:560px){.hero-follow{font-size:.72em}.service,.service:nth-last-child(-n+2){padding:15px 14px 16px}.contact-inner{padding:20px 16px}.profile-link{padding:22px}.fees-message{padding:20px}.home .fee-table th{width:29%}.home .fee-table td:nth-child(2){width:23%}.home .fee-table td:last-child{width:48%}.contact-phone{font-size:clamp(1.4rem,7.3vw,1.9375rem)}}

.profile-more{display:inline-flex;gap:.2em}.personal-story{margin-top:36px}.story-space{min-height:180px;background:#f3f4f6;border-radius:6px}.bio{margin-top:24px}

.brand{display:inline-flex;align-items:center;gap:12px}.brand-icon{width:38px;height:38px;flex:0 0 38px}@media(max-width:560px){.brand{gap:8px}.brand-icon{width:30px;height:30px;flex-basis:30px}.brand>span{font-size:clamp(.95rem,4.25vw,1.1875rem)}}

.contact-brand{display:flex;align-items:center;gap:10px}.contact-brand .brand-icon{width:32px;height:32px;flex-basis:32px}.procedure-nav{margin-top:32px;padding-top:1px;border-top:1px solid #f3f4f6}.procedure-nav>div{display:flex;flex-wrap:wrap;gap:10px}.procedure-nav a{background:#f3f4f6;color:#233d5b;display:inline-flex;align-items:center;min-height:44px;padding:8px 18px;border-radius:4px;text-decoration:none}.procedure-nav a:hover{text-decoration:underline}@media(max-width:560px){.contact-brand strong{font-size:.875rem}.contact-brand{gap:8px}.contact-brand .brand-icon{width:28px;height:28px;flex-basis:28px}}

/* Put the three questions most visitors have before everything else. */
.quick-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid #f3f4f6;border-radius:7px;margin-bottom:42px;overflow:hidden}.quick-facts a{display:flex;flex-direction:column;min-width:0;padding:20px 23px;text-decoration:none;background:#fff}.quick-facts a+a{border-left:1px solid #f3f4f6}.quick-facts a:hover{background:#f3f4f6}.quick-facts span{font-size:.8125rem;font-weight:700;color:#233d5b}.quick-facts strong{font-size:1.125rem;margin:3px 0;color:#233d5b;overflow-wrap:anywhere}.quick-facts small{font-size:.8125rem;color:#233d5b}.main-services{grid-template-columns:repeat(2,minmax(0,1fr))}.other-procedure{display:grid;grid-template-columns:170px 1fr;align-items:center;margin-top:14px;padding:17px 21px;background:#fff;border:1px solid #f3f4f6;border-radius:6px}.other-procedure>span{font-size:.875rem;color:#233d5b}.other-procedure a{display:flex;align-items:center;justify-content:space-between;gap:18px;text-decoration:none}.other-procedure a:hover strong{text-decoration:underline}.other-procedure small{font-size:.875rem;color:#233d5b}
@media(max-width:700px){.quick-facts{grid-template-columns:1fr;margin-bottom:30px}.quick-facts a{padding:15px 18px}.quick-facts a+a{border-left:0;border-top:1px solid #f3f4f6}.quick-facts strong{font-size:1.0625rem}.other-procedure{grid-template-columns:1fr;gap:5px}.other-procedure a{align-items:flex-start;flex-direction:column;gap:2px}}
@media(max-width:560px){.main-services{grid-template-columns:1fr}.intro{padding-bottom:22px}.other-procedure{padding:15px 14px}.section-label .small{width:100%}}


/* Compact shared title band; navigation on white. */
.header,.page-home .header{background:#f3f4f6;border-top:0;border-bottom:1px solid #f3f4f6}
.header-main{padding-block:22px;gap:18px}.header-phone{font-size:1.25rem;gap:12px}
.header-menu{background:#ffffff}.nav{border-top:0;padding-block:12px;gap:10px;flex-wrap:wrap}
.nav a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:7px 17px;background:#ffffff;border:1px solid #233d5b;border-radius:4px}
.service-hint{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
@media(max-width:850px){.header-main{flex-wrap:wrap}.header-phone{font-size:1.125rem}}
@media(max-width:560px){.header-main{padding-block:18px}.header-phone{display:flex;margin-top:9px}.nav{gap:8px}.nav a{flex:1 1 calc(50% - 8px);padding:7px 8px}.brand>span{font-size:clamp(.95rem,4.25vw,1.1875rem)}}

/* Give the single home fee section a unified gray background. */
.home #fees{background:#f3f4f6;padding:30px 28px;border-radius:6px;margin-bottom:30px}
.home #fees .fees-message{padding:0}
.home #fees .fee-table th,.home #fees .fee-table td{border-bottom-color:#ffffff}
@media(max-width:560px){.home #fees{padding:24px 14px}.home #fees .fees-layout{gap:24px}}

/* Consistent fee and profile surfaces. */
.home #fees .fees-layout{grid-template-columns:1fr;gap:26px}
.home #fees .fees-message{display:grid;grid-template-columns:max-content max-content minmax(0,1fr) max-content;align-items:center;gap:12px 22px;border-bottom:1px solid #ffffff;padding-bottom:22px}
.home #fees .fees-message p,.home #fees .fees-message .text-link{margin:0}
.home #fees .fees-message>p:nth-of-type(3){justify-self:center}
.home #fees .fees-message br{display:none}
.home #fees .text-link,.rate .text-link{border:1px solid #233d5b;padding:8px 14px;border-radius:4px;gap:8px}
.fee-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.fee-card{background:#ffffff;border-radius:5px;padding:22px;min-width:0}
.fee-card h3{font-size:1.125rem;margin:0 0 12px}.fee-card .fee-unit{font-size:.875rem;margin:0}
.fee-card .fee-amount{margin-top:4px;line-height:1.7}.fee-amount strong{font-size:1.875rem;font-weight:700}
.fee-card .aid-fee{font-size:.8125rem;line-height:1.7;margin-top:8px}
.article .rate,.fee-panel{background:#f3f4f6;border:0;border-radius:6px;padding:28px;margin:28px 0}
.fee-panel>h2:first-child{margin-top:0}.fee-panel .fee-table th,.fee-panel .fee-table td{border-bottom-color:#ffffff}
.profile-bio{background:#f3f4f6;border:0;border-radius:6px;padding:8px 26px}
.profile-bio>div{border-bottom-color:#ffffff}.profile-bio>div:last-child{border-bottom:0}
.story-space{min-height:0;padding:28px 30px;line-height:2.1}.story-space p{text-indent:1em}.story-space p+p{margin-top:22px}
@media(max-width:850px){.fee-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.home #fees .fees-message{grid-template-columns:max-content max-content 1fr}.home #fees .fees-message .text-link{grid-column:1/-1;justify-self:start}.home #fees .fees-message>p:nth-of-type(3){justify-self:end}}
@media(max-width:560px){.fee-cards{grid-template-columns:1fr;gap:12px}.fee-card{padding:20px}.home #fees .fees-message{grid-template-columns:max-content 1fr;gap:10px 14px}.home #fees .fees-message>p:nth-of-type(3){grid-column:1/-1;justify-self:start}.article .rate,.fee-panel{padding:20px 16px}.profile-bio{padding:4px 18px}.story-space{padding:22px 18px}.fee-panel .fee-table th{width:43%}}

.home #fees .free-price span{font-size:1.5rem;font-weight:600;letter-spacing:0}

/* Refined navy and white details shared by every page. */
body{background:linear-gradient(90deg,rgba(35,61,91,.025) 0,rgba(35,61,91,.025) 1px,transparent 1px,transparent 100%) center top/96px 96px,#fff}
.header{box-shadow:0 5px 22px rgba(35,61,91,.045)}
.header-main{position:relative}
.header-main:after{content:"";position:absolute;left:0;bottom:0;width:72px;height:2px;background:#233d5b;opacity:.55}
.nav a{transition:background .2s ease,color .2s ease,box-shadow .2s ease}
.nav a:hover,.nav a:focus-visible{background:#233d5b;color:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(35,61,91,.14)}
.intro{position:relative;padding-left:28px}
.intro:before{content:"";position:absolute;left:0;top:51px;bottom:44px;width:3px;background:#233d5b}
.intro:after{content:"";position:absolute;left:0;top:51px;width:25px;height:3px;background:#233d5b}
.intro h1{max-width:900px}
.section-label h2,.article>h2,.article>section>h2{display:inline-block;position:relative;padding-bottom:8px}
.section-label h2:after,.article>h2:after,.article>section>h2:after{content:"";position:absolute;bottom:0;left:0;width:min(72px,48%);height:2px;background:#233d5b;opacity:.7}
.quick-facts{box-shadow:0 12px 28px rgba(35,61,91,.06);border-color:rgba(35,61,91,.15)}
.quick-facts a{position:relative;transition:background .2s ease}
.quick-facts a:before{content:"";position:absolute;top:0;left:23px;width:28px;height:3px;background:#233d5b;opacity:.65}
.service{position:relative;overflow:hidden;border:1px solid rgba(35,61,91,.13);border-top:3px solid #233d5b;box-shadow:0 7px 17px rgba(35,61,91,.045);transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.service:after{content:"";position:absolute;right:0;bottom:0;width:26px;height:26px;border-right:2px solid rgba(35,61,91,.25);border-bottom:2px solid rgba(35,61,91,.25)}
.service:hover,.service:focus-visible{transform:translateY(-3px);background:#fff;box-shadow:0 14px 26px rgba(35,61,91,.12)}
.other-procedure,.profile-link,.contact-inner,.fees-message,.fee-panel,.article .rate,.profile-bio,.story-space{box-shadow:0 8px 25px rgba(35,61,91,.045)}
.home #fees{position:relative;border:1px solid rgba(35,61,91,.08);box-shadow:0 12px 32px rgba(35,61,91,.06)}
.home #fees:before{content:"";position:absolute;top:0;left:28px;width:80px;height:3px;background:#233d5b}
.fee-card{border:1px solid rgba(35,61,91,.11);border-bottom:3px solid rgba(35,61,91,.6);box-shadow:0 6px 16px rgba(35,61,91,.045)}
.profile-link{position:relative;border-left-width:4px}
.profile-link:after{content:"";position:absolute;right:18px;top:18px;width:24px;height:24px;border-right:1px solid rgba(35,61,91,.32);border-top:1px solid rgba(35,61,91,.32)}
.contact-inner{border:1px solid rgba(35,61,91,.1)}
.contact-phone{font-variant-numeric:tabular-nums}
.detail-heading{position:relative;border-bottom:1px solid rgba(35,61,91,.12);margin-bottom:18px}
.detail-heading:after{content:"";position:absolute;bottom:-1px;left:0;width:88px;height:2px;background:#233d5b}
.article details{padding-inline:12px;border-color:rgba(35,61,91,.14)}
.article details[open]{background:#f3f4f6;border-radius:4px}
.footer{border-top-color:rgba(35,61,91,.2)}
@media(max-width:560px){.header-main:after{width:52px}.intro{padding-left:17px}.intro:before{top:34px;bottom:25px;width:2px}.intro:after{top:34px;width:16px;height:2px}.quick-facts a:before{left:18px}.home #fees:before{left:14px;width:54px}.service:hover,.service:focus-visible{transform:none}.detail-heading{margin-bottom:10px}}
@media(prefers-reduced-motion:reduce){.service,.nav a,.quick-facts a{transition:none}}

/* Preserve the intended line breaks while fitting the opening copy on phones. */
@media(max-width:560px){.intro h1{font-size:clamp(1.4rem,6.6vw,1.8125rem)}.intro .hero-follow{display:block;font-size:clamp(13px,3.8vw,16px);margin-top:9px;white-space:nowrap}.intro .intro-note span{display:block;margin-left:0}}
