:root{--navy:#142c3a;--teal:#17615f;--gold:#a38142;--muted:#5f7078;--line:#dce5e6;--tint:#f2f7f7;--white:#fff;--body:16px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--navy);font-size:var(--body);line-height:1.95;background:var(--white);overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}button{font:inherit}h1,h2,h3,p{margin-top:0}h1,h2,h3{line-height:1.55;letter-spacing:.035em}h1,h2{font-weight:600}p{color:var(--muted)}.wrap{width:min(1160px,calc(100% - 96px));margin:auto}.section{padding:104px 0}.eyebrow,.section-label>span{display:block;font-size:.875rem;letter-spacing:.17em;font-weight:600;color:var(--teal);margin-bottom:22px}.section-label h2,h2{font-size:clamp(1.75rem,2.6vw,2.55rem);margin-bottom:32px}.section-intro{margin-top:-8px;margin-bottom:44px}.tint{background:var(--tint)}header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.header-inner{min-height:98px;width:min(1370px,calc(100% - 72px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;flex-direction:column;white-space:nowrap;font-family:Georgia,'Times New Roman',serif;font-size:1.75rem;line-height:1.3;letter-spacing:.01em}.brand-period{color:var(--gold)}.brand small{font-family:'Yu Gothic',sans-serif;font-size:.75rem;letter-spacing:.08em;color:var(--muted);margin-top:6px}header nav{display:flex;align-items:center;gap:24px;font-size:.875rem;font-weight:600}header nav a:hover,nav a[aria-current=page]{color:var(--teal)}.nav-contact{border:1px solid var(--navy);padding:10px 18px}.menu-toggle{display:none}.hero{position:relative;min-height:640px;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;padding:68px 0 96px;gap:40px}.hero h1{font-size:clamp(2.4rem,4.65vw,4.25rem);line-height:1.6;letter-spacing:.07em;margin-bottom:24px}.hero p{font-size:1.1rem;line-height:2.1}.hero .eyebrow{margin-bottom:25px}.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:32px}.button{display:inline-flex;justify-content:center;align-items:center;min-height:54px;padding:13px 26px;line-height:1.6;white-space:nowrap;background:var(--teal);border:1px solid var(--teal);color:white;font-weight:600;font-size:.9375rem;transition:background .2s,color .2s}.button:hover{background:var(--navy);border-color:var(--navy)}.button.outline{background:transparent;color:var(--navy);border-color:var(--navy)}.button.outline:hover{color:white;background:var(--navy)}.hero-note{background:var(--navy);color:#fff;min-height:380px;margin-top:10px;padding:55px 46px;border-top:4px solid var(--gold);position:relative}.hero-note>span{font-family:Georgia,serif;font-size:clamp(1.8rem,2.5vw,2.6rem);line-height:1.45;letter-spacing:.02em}.hero-note p{color:white;font-size:1.1rem;margin:24px 0}.hero-note small{font-size:.875rem;color:#b7cfd2}.accent-line{height:1px;width:55px;background:var(--gold);margin:26px 0}.hero-bottom{position:absolute;bottom:25px;left:0;right:0;display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;color:var(--muted);font-size:.875rem;letter-spacing:.08em}.mobile-only{display:none}.split{display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start}.prose p{line-height:2.25;margin-bottom:26px}.text-link{display:inline-block;border-bottom:1px solid var(--navy);padding:5px 0;font-size:.9375rem;font-weight:600}.text-link:hover{color:var(--teal)}.business-row{display:flex;align-items:center;gap:35px;padding:28px 0;border-top:1px solid #ccdada}.business-row:last-child{border-bottom:1px solid #ccdada}.number{font-size:1rem;letter-spacing:.1em;color:var(--gold);font-family:Georgia,serif}.business-row h3{font-size:1.3rem;margin:0 0 4px}.business-row p{margin:0;font-size:.9375rem}.row-note{margin-left:auto;font-size:.875rem;white-space:nowrap}.business-row:hover h3{color:var(--teal)}.apps-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.app-card{border:1px solid var(--line);border-top:3px solid var(--gold);padding:38px;background:white;display:flex;flex-direction:column}.nittei{border-top-color:var(--teal)}.app-top{display:flex;justify-content:space-between;gap:10px;align-items:start}.app-top .eyebrow{font-size:.75rem;letter-spacing:.11em;margin-bottom:36px}.app-category{font-size:.8125rem;color:var(--muted);border-bottom:1px solid var(--line);padding-bottom:3px;white-space:nowrap}.app-card h3{font-size:2.2rem;margin-bottom:20px;letter-spacing:.1em}.app-card p{flex:1;margin-bottom:24px;line-height:2}.app-card small{font-size:.8125rem;color:var(--muted);margin-bottom:22px}.app-card .button{align-self:flex-start}.navy{background:var(--navy);color:white}.navy p{color:#d2dee3}.navy .section-label>span{color:#a8cecd}.navy .text-link{border-color:#a8cecd}.signature{font-size:1rem;color:#d2dee3}.recruit-slice{padding-left:0;border-top:1px solid var(--line)}.recruit-slice h2{font-size:clamp(2rem,3.2vw,3.2rem)}.contact-strip{padding:64px 0;background:#e5efed}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:24px}.contact-inner h2{margin-bottom:18px;font-size:2rem}.contact-inner p{margin-bottom:0}.contact-inner .eyebrow{margin-bottom:14px}footer{background:var(--navy);color:white;padding:58px 0 26px}.footer-top{display:flex;justify-content:space-between;gap:40px}.footer-top p{font-size:.875rem;color:#b9cbd1;margin-top:16px}.footer-top nav{display:grid;grid-template-columns:repeat(2,auto);gap:12px 32px;font-size:.875rem;color:#d8e3e7}.footer-bottom{display:flex;justify-content:space-between;border-top:1px solid #3b5260;padding-top:24px;margin-top:40px;font-size:.8125rem;color:#b9cbd1}.footer-bottom small{font-size:.8125rem}.page-hero{padding:80px 0 68px;border-bottom:1px solid var(--line)}.page-hero h1{font-size:clamp(2.4rem,4vw,3.65rem);margin-bottom:24px}.page-hero p{margin-bottom:0}.values{display:grid;grid-template-columns:repeat(4,1fr);gap:28px}.values article{border-top:1px solid #c9d8d9;padding-top:22px}.values h3{font-size:1.15rem;margin:24px 0 16px}.values p{font-size:.9375rem}.representative{border-left:2px solid var(--gold);padding-left:24px;margin-top:42px}.representative h3{font-size:1.9rem;margin-bottom:12px}.representative p{font-size:.875rem}.sign{display:flex;flex-direction:column;align-items:flex-end;border-top:1px solid var(--line);padding-top:24px;margin-top:36px;gap:7px}.sign strong{font-size:1.3rem;font-weight:500}.business-detail{padding-top:40px}.detail-row{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:64px 0;border-bottom:1px solid var(--line);scroll-margin-top:110px}.detail-row h2{font-size:1.65rem;margin-top:20px}.detail-row h3{font-size:1.3rem}.detail-row p{line-height:2.15}.detail-row ul{padding:0;list-style:none;margin:28px 0}.detail-row li{padding:10px 0;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9375rem}.detail-row li:before{content:'・';color:var(--teal);margin-right:6px}.term-note{font-size:.875rem;background:var(--tint);padding:18px}.service-link{padding:46px 0 70px}.plain-list{padding-left:20px;color:var(--muted)}.roles details{border-top:1px solid #c9d8d9}.roles details:last-child{border-bottom:1px solid #c9d8d9}summary{padding:26px 0;display:flex;align-items:center;gap:20px;cursor:pointer;list-style:none;font-weight:600}summary::-webkit-details-marker{display:none}summary>span:first-child{flex:1}.status{font-weight:400;color:var(--teal);font-size:.8125rem;border:1px solid #a7bfbc;padding:4px 10px;white-space:nowrap}.plus{font-size:1.5rem;font-weight:400}.roles details[open] .plus{transform:rotate(45deg)}.role-content{padding:0 30px 25px}.role-content dl{margin:0}.role-content dl>div{display:grid;grid-template-columns:180px 1fr;padding:14px 0;border-top:1px solid var(--line);font-size:.9375rem}.role-content dd{margin:0;color:var(--muted)}.narrow{max-width:780px}.narrow h2{margin-top:24px}.narrow p{margin-bottom:26px}.office-table{margin:0}.office-table>div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:24px 0;border-bottom:1px solid var(--line)}.office-table>div:first-child{border-top:1px solid var(--line)}.office-table dt{font-size:.875rem;color:var(--muted)}.office-table dd{margin:0}.office-table a{border-bottom:1px solid #9aafb3;font-size:.9375rem}.inquiry-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px}.inquiry-grid article{display:flex;flex-direction:column;border-top:1px solid #c9d8d9;padding-top:30px}.inquiry-grid h3{font-size:1.3rem}.inquiry-grid .instruction{font-size:.9375rem;flex:1}.inquiry-grid .button{align-self:flex-start}.skip-link{position:fixed;top:-100px;left:15px;z-index:50;padding:12px;background:var(--navy);color:white}.skip-link:focus{top:10px}@media(min-width:1600px){.hero{min-height:730px}}@media(max-width:1150px){.header-inner{width:calc(100% - 40px)}header nav{gap:16px;font-size:.8125rem}.brand{font-size:1.5rem}.split{gap:50px}.app-top{flex-direction:column}.app-top .eyebrow{margin-bottom:6px}.app-category{margin-bottom:24px}}@media(max-width:960px){.header-inner{min-height:84px}.menu-toggle{display:flex;align-items:center;gap:16px;border:1px solid var(--line);background:white;font-size:.875rem;padding:8px 12px;color:var(--navy)}header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:18px 28px 28px;background:white;border-bottom:1px solid var(--line);font-size:1rem;max-height:calc(100dvh - 84px);overflow:auto}header nav.open{display:flex;flex-direction:column;align-items:stretch;gap:0}header nav a{padding:12px 4px}.nav-contact{text-align:center;margin-top:12px}.hero{gap:28px;grid-template-columns:1.4fr 1fr}.hero-note{padding:35px 26px;min-height:340px}.values{grid-template-columns:repeat(2,1fr)}.detail-row{gap:45px}.apps-grid{gap:20px}.app-card{padding:30px}.split{gap:40px}.wrap{width:calc(100% - 56px)}}@media(max-width:680px){html{scroll-padding-top:84px}.wrap{width:calc(100% - 40px)}.section{padding:64px 0}.brand{font-size:1.5rem}.brand small{font-size:.6875rem}.header-inner{width:calc(100% - 32px);min-height:78px}header nav{top:78px}.hero{grid-template-columns:1fr;padding:48px 0 72px;gap:35px;min-height:auto}.hero h1{font-size:clamp(1.85rem,7.8vw,2.8rem);line-height:1.7;letter-spacing:.03em}.hero p{font-size:1rem}.hero-note{min-height:0;padding:25px 28px;display:grid;grid-template-columns:1.15fr 1fr;gap:20px}.hero-note>span{font-size:1.5rem;line-height:1.5;grid-row:1/3;align-self:center}.hero-note .accent-line{display:none}.hero-note p{font-size:.875rem;margin:0;line-height:1.9}.hero-note small{font-size:.75rem}.hero-bottom{bottom:0;font-size:.75rem;letter-spacing:0}.hero-bottom span:last-child{display:none}.buttons{gap:10px;margin-top:26px}.button{padding:13px 20px;font-size:.875rem;min-height:52px}.mobile-only{display:block}.split{grid-template-columns:1fr;gap:18px}.section-label h2,h2{font-size:1.8rem;margin-bottom:24px}.eyebrow,.section-label>span{margin-bottom:16px}.business-row{gap:18px;padding:24px 0}.business-row h3{font-size:1.05rem}.business-row p{font-size:.875rem}.row-note{display:none}.apps-grid{grid-template-columns:1fr;gap:24px}.app-card{padding:28px}.app-top{flex-direction:row}.app-top .eyebrow{font-size:.6875rem;margin-bottom:24px}.app-category{font-size:.75rem;margin-bottom:24px}.app-card h3{font-size:2rem}.app-card p{font-size:.9375rem}.contact-inner{align-items:flex-start;flex-direction:column;gap:25px}.contact-inner h2{font-size:1.6rem}.contact-strip{padding:48px 0}.footer-top{flex-direction:column;gap:20px}.footer-top nav{grid-template-columns:1fr 1fr;font-size:.8125rem;gap:14px}.footer-bottom{flex-direction:column;gap:8px;font-size:.75rem}.page-hero{padding:50px 0 42px}.page-hero h1{font-size:clamp(1.85rem,7.5vw,2.5rem)}.page-hero p{font-size:.9375rem}.values{gap:24px}.values h3{font-size:1.05rem;margin-top:14px}.values p{font-size:.875rem}.representative{margin-top:25px}.detail-row{grid-template-columns:1fr;gap:5px;padding:42px 0}.detail-row h2{font-size:1.5rem;margin:14px 0 18px}.detail-row h3{font-size:1.2rem}.business-detail{padding-top:0}.service-link{padding:32px 0 48px}.role-content{padding:0 0 25px}summary{gap:10px;font-size:.9375rem;flex-wrap:wrap}summary>span:first-child{flex-basis:100%;padding-right:15px}.plus{margin-left:auto}.role-content dl>div{grid-template-columns:1fr;gap:5px}.office-table>div{grid-template-columns:1fr;gap:7px;padding:20px 0}.inquiry-grid{grid-template-columns:1fr;gap:36px}.narrow h2{font-size:1.65rem}.recruit-slice h2{font-size:2rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
/* Warm imagery and national reach */
.hero{grid-template-columns:1.15fr 1fr;gap:22px;min-height:665px}.hero-visual{position:relative;padding:20px 0 0;align-self:center}.hero-visual>img{display:block;width:100%;height:auto;object-fit:contain}.reach-pill{display:table;margin:8px auto 0;background:#edf5f2;border:1px solid #cdded8;color:var(--teal);border-radius:40px;padding:9px 20px;font-size:.875rem;font-weight:600}.button{border-radius:8px}.nav-contact{border-radius:7px}.app-card{border-radius:18px;box-shadow:0 7px 26px rgba(20,44,58,.035)}.contact-strip{border-radius:30px 30px 0 0}.reach-section{background:#f3f8f7;padding:64px 0}.reach-layout{display:grid;grid-template-columns:1.15fr 1fr;gap:65px;align-items:center}.reach-layout h2{font-size:clamp(1.8rem,2.8vw,2.6rem)}.reach-layout p{max-width:570px;line-height:2.1}.reach-map{width:min(100%,370px);height:auto;justify-self:center}.nationwide-label{display:inline-block;padding:8px 16px;border-radius:8px;background:white;color:var(--teal);font-size:.875rem;font-weight:600;border:1px solid #dce8e3}.photo-frame{margin:0}.photo-frame img{display:block;width:100%;height:auto;border-radius:20px;object-fit:cover;aspect-ratio:3/2}.photo-frame figcaption{font-size:.75rem;color:var(--muted);text-align:right;margin-top:8px}.people-band{display:grid;grid-template-columns:1fr 1.1fr;gap:58px;align-items:center}.people-photo-inline{margin-top:32px}.people-photo-inline img{aspect-ratio:4/3}.recruit-slice{border-top:0}.recruit-slice .recruit-layout{display:grid;grid-template-columns:1fr 1fr;gap:55px;align-items:center}@media(max-width:960px){.hero{gap:10px}.reach-layout{gap:35px}.people-band,.recruit-slice .recruit-layout{gap:32px}}@media(max-width:680px){.hero{grid-template-columns:1fr;min-height:0;gap:20px;padding:40px 0 64px}.hero-visual{width:min(100%,430px);justify-self:center;padding:0}.hero-visual img{max-height:300px}.reach-pill{font-size:.8125rem;padding:7px 15px}.reach-layout{grid-template-columns:1fr;gap:24px}.reach-section{padding:48px 0}.reach-map{max-width:300px}.people-band,.recruit-slice .recruit-layout{grid-template-columns:1fr;gap:28px}.photo-frame img{border-radius:15px}.contact-strip{border-radius:20px 20px 0 0}.app-card{border-radius:15px}}
/* Customer-focused photographic direction */
.hero{grid-template-columns:1.05fr 1.1fr;gap:48px}.hero-visual{padding:0}.hero-visual>img{aspect-ratio:4/3;object-fit:cover;object-position:50% 50%;border-radius:14px}.hero-photo-note{background:var(--navy);color:white;border-left:3px solid var(--gold);padding:19px 22px;margin:-36px 18px 0;position:relative;border-radius:0 0 8px 8px}.hero-photo-note span{display:block;font-size:1rem;font-weight:600}.hero-photo-note small{display:block;color:#c5d9dc;font-size:.8125rem;margin-top:3px}.photo-frame img{border-radius:12px}.app-card{border-radius:12px}.hero .eyebrow{letter-spacing:.2em}@media(max-width:960px){.hero{gap:24px}.hero-photo-note{padding:15px 17px;margin-left:12px;margin-right:12px}.hero-photo-note span{font-size:.9375rem}}@media(max-width:680px){.hero{grid-template-columns:1fr;gap:32px}.hero-visual{width:100%}.hero-visual>img{aspect-ratio:3/2;max-height:none;border-radius:10px}.hero-photo-note{margin-top:-22px}.hero-photo-note span{font-size:.9375rem}.photo-frame img{border-radius:10px}}
/* Paragraph rhythm for Japanese reading */
p{line-height:2.05;line-break:strict;word-break:normal;overflow-wrap:anywhere}.prose p{line-height:2.2;max-width:38em;margin-bottom:30px}.detail-row p{max-width:38em;line-height:2.15}.app-card p{line-height:2.1}.section-intro{line-height:2.05}.inquiry-grid .instruction{line-height:2.15}.page-hero p{max-width:42em;line-height:2}.reach-layout p{line-height:2.2}.narrow p{max-width:38em;margin-bottom:28px}.business-row h3,.detail-row h2,summary>span:first-child{word-break:normal;line-break:strict;overflow-wrap:anywhere}.representative p{line-height:2.1}.business-row p{max-width:40em}@media(max-width:680px){p{line-height:2.05}.prose p{line-height:2.15;margin-bottom:26px}.detail-row p,.app-card p,.inquiry-grid .instruction{line-height:2.1}.section-label h2{line-height:1.65}.roles summary>span:first-child{line-height:1.85}.office-table dd{line-height:2}.page-hero p{line-height:2.05}.reach-layout h2{line-height:1.7}}
/* Text-only national coverage after map removal */
.reach-layout{display:block}.reach-layout>div{max-width:820px}.reach-layout p{max-width:760px}.reach-section{padding:64px 0}@media(max-width:680px){.reach-section{padding:48px 0}}
a.nationwide-label:hover{background:var(--teal);color:white;border-color:var(--teal)}

.overview-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:32px}.overview-links article{padding:30px;background:#fff;border:1px solid var(--line)}.overview-price{font-size:1.7rem;font-weight:700;color:var(--teal)}.overview-price span{font-size:1rem}header nav{gap:18px}.button{white-space:normal}.overview-links .buttons{margin-top:20px}@media(max-width:760px){.overview-links{grid-template-columns:1fr}.overview-links article{padding:24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
