:root{--primary:#285d78;--primary-dark:#1d475d;--primary-pale:#eaf1f4;--sub:#f4f6f7;--accent:#6f9d84;--accent-pale:#edf4f0;--text:#263238;--muted:#5d6b71;--white:#fff;--border:#d9e1e4;--shadow:0 14px 36px rgba(38,50,56,.09);--radius:18px;--max:1120px}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{margin:0;color:var(--text);background:var(--white);font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-text-size-adjust:100%}img,svg{max-width:100%;height:auto}a{color:inherit;text-underline-offset:.2em}button{font:inherit}.container{width:min(calc(100% - 32px),var(--max));margin-inline:auto}.narrow{max-width:860px}.skip-link{position:fixed;left:16px;top:-100px;z-index:100;background:var(--text);color:#fff;padding:10px 16px}.skip-link:focus{top:12px}:focus-visible{outline:3px solid #e5a82a;outline-offset:3px}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(40,93,120,.12);backdrop-filter:blur(12px)}.header-inner{width:min(calc(100% - 32px),var(--max));min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:14px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;line-height:1.25}.brand strong{display:block;font-size:14px;letter-spacing:.03em}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.brand-mark{width:37px;height:37px;position:relative;display:grid;place-items:center;border-radius:10px;background:var(--primary)}.brand-mark i{position:absolute;width:5px;border-radius:4px;background:#fff;bottom:9px}.brand-mark i:nth-child(1){height:11px;left:9px}.brand-mark i:nth-child(2){height:18px;left:16px}.brand-mark i:nth-child(3){height:14px;left:23px;background:#a6c6b4}.menu-button{display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--primary);font-size:13px}.menu-icon,.menu-icon::before,.menu-icon::after{display:block;width:20px;height:2px;background:currentColor;transition:.2s}.menu-icon{position:relative}.menu-icon::before,.menu-icon::after{content:"";position:absolute;left:0}.menu-icon::before{top:-6px}.menu-icon::after{top:6px}.menu-button[aria-expanded="true"] .menu-icon{background:transparent}.menu-button[aria-expanded="true"] .menu-icon::before{top:0;transform:rotate(45deg)}.menu-button[aria-expanded="true"] .menu-icon::after{top:0;transform:rotate(-45deg)}.global-nav{position:absolute;left:16px;right:16px;top:calc(100% + 1px);display:none;padding:10px;background:#fff;border:1px solid var(--border);border-radius:0 0 12px 12px;box-shadow:var(--shadow)}.global-nav.is-open{display:grid}.global-nav a{padding:11px 12px;text-decoration:none;border-bottom:1px solid var(--border)}.global-nav a:last-child{border:0}.nav-contact{color:var(--primary);font-weight:700}.hero{overflow:hidden;background:linear-gradient(145deg,#f7fafb 0%,#fff 58%,#eef5f1 100%)}.hero-grid{display:grid;gap:42px;padding-top:60px;padding-bottom:54px}.eyebrow,.section-kicker{margin:0 0 12px;color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.09em}.hero h1{margin:0;font-size:clamp(36px,11vw,64px);line-height:1.35;letter-spacing:-.03em}.hero h1 span{color:var(--primary)}.hero-lead{margin:24px 0 0;font-size:18px;font-weight:600;line-height:1.75}.hero-note{margin:12px 0 0;color:var(--muted)}.button-group{display:flex;flex-direction:column;gap:11px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 20px;border:2px solid transparent;border-radius:9px;font-weight:700;text-decoration:none;line-height:1.4;transition:transform .2s,background .2s}.button:hover{transform:translateY(-2px)}.primary{color:#fff;background:var(--primary)}.primary:hover{background:var(--primary-dark)}.secondary{color:var(--primary);background:#fff;border-color:var(--primary)}.text-link{align-self:center;color:var(--primary);font-weight:700;text-decoration:none;padding:8px}.hero-visual{position:relative;min-height:330px;max-width:480px;margin:auto;width:100%}.visual-card{position:absolute;border-radius:var(--radius);box-shadow:var(--shadow)}.main-card{inset:10px 24px 50px 0;background:var(--primary);overflow:hidden}.main-card::before{content:"";position:absolute;width:240px;height:240px;border:1px solid rgba(255,255,255,.18);border-radius:50%;right:-65px;top:-70px}.visual-label{position:absolute;top:24px;left:24px;color:#fff;font-weight:700;letter-spacing:.08em}.people{position:absolute;left:38px;bottom:54px;display:flex;gap:60px;align-items:end}.people span{position:relative;width:70px;height:88px;border-radius:42px 42px 18px 18px;background:#dce9ef}.people span::before{content:"";position:absolute;width:42px;height:42px;border-radius:50%;background:#f4d9c7;left:14px;top:-28px}.people span:nth-child(2){height:100px;background:#a8c8b6}.conversation-lines{position:absolute;right:38px;top:95px;width:120px;padding:20px;background:#fff;border-radius:16px}.conversation-lines::after{content:"";position:absolute;left:12px;bottom:-12px;border-width:12px 14px 0 0;border-style:solid;border-color:#fff transparent transparent transparent}.conversation-lines i{display:block;height:5px;margin:8px 0;border-radius:4px;background:#cbd8de}.conversation-lines i:nth-child(2){width:75%}.mini-card{right:0;bottom:12px;width:205px;padding:19px;background:#fff;border-left:5px solid var(--accent)}.mini-card b,.mini-card span{display:block}.mini-card b{color:var(--primary)}.mini-card span{font-size:13px;color:var(--muted)}.visual-dots{position:absolute;right:5px;top:3px;width:60px;height:60px;background-image:radial-gradient(var(--accent) 2px,transparent 2px);background-size:12px 12px}.area-strip{background:var(--primary);color:#fff}.area-strip .container{display:flex;flex-direction:column;gap:2px;padding-block:15px}.area-strip strong{font-size:12px;color:#bcd5c7}.area-strip span{font-size:13px}.section{padding:72px 0}.section h2{margin:0;font-size:clamp(28px,8vw,42px);line-height:1.4;color:var(--primary);letter-spacing:-.02em}.section-intro{max-width:730px;margin:18px 0 36px;color:var(--muted)}.concerns{background:#fff}.card-grid{display:grid;gap:14px}.concern-card{position:relative;min-height:135px;padding:26px 22px;background:var(--sub);border-radius:14px;border-top:3px solid var(--primary-pale)}.concern-card span{position:absolute;right:18px;top:12px;color:#d4dee2;font-size:34px;font-weight:800}.concern-card h3{position:relative;margin:24px 0 0;font-size:17px;line-height:1.65}.center-note{margin:28px auto 0;padding:16px;text-align:center;background:var(--accent-pale);border-radius:10px;color:#486656}.services{background:var(--sub)}.service-grid{display:grid;gap:14px}.service-card{display:flex;gap:16px;padding:24px 20px;background:#fff;border:1px solid transparent;border-radius:14px}.service-card.featured{background:var(--primary);color:#fff}.service-number{flex:0 0 38px;color:var(--accent);font-size:13px;font-weight:800}.featured .service-number{color:#b8d7c5}.service-card h3{margin:0 0 8px;font-size:18px}.service-card p{margin:0;color:var(--muted);font-size:15px}.featured p{color:#e4edf1}.price-note{margin-top:22px;padding:20px 22px;border:1px solid var(--border);border-radius:12px;background:#fff}.price-note strong{color:var(--primary)}.price-note p{margin:3px 0 0}.strengths{background:#fff}.two-column{display:grid;gap:34px}.two-column>div>p:last-child{color:var(--muted)}.check-list{list-style:none;margin:0;padding:0}.check-list li{position:relative;padding:18px 0 18px 42px;border-bottom:1px solid var(--border)}.check-list li::before{content:"✓";position:absolute;left:0;top:20px;display:grid;place-items:center;width:25px;height:25px;border-radius:50%;background:var(--accent-pale);color:var(--accent);font-weight:800}.check-list b,.check-list span{display:block}.check-list span{color:var(--muted);font-size:14px}.process{background:var(--primary);color:#fff}.process .section-kicker{color:#b9d6c5}.process h2{color:#fff}.process-list{list-style:none;margin:34px 0 0;padding:0;display:grid;gap:0}.process-list li{position:relative;display:grid;grid-template-columns:52px 1fr;gap:14px;padding:0 0 30px}.process-list li:not(:last-child)::after{content:"";position:absolute;left:25px;top:48px;bottom:4px;width:1px;background:rgba(255,255,255,.3)}.process-list>li>span{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;color:var(--primary);font-size:13px;font-weight:800}.process-list h3{margin:3px 0 2px}.process-list p{margin:0;color:#dce8ed;font-size:14px}.training{background:#fff}.section-heading-row{display:grid;gap:20px}.section-heading-row>p{color:var(--muted);margin:0}.training-roadmap{display:grid;gap:12px;margin-top:34px}.training-roadmap article{display:grid;grid-template-columns:72px 1fr;gap:14px;padding:22px 18px;border:1px solid var(--border);border-radius:14px}.training-roadmap article>span{font-size:11px;color:var(--accent);font-weight:800;letter-spacing:.06em}.training-theme{margin:0;color:var(--primary);font-size:13px;font-weight:700}.training-roadmap h3{margin:2px 0 5px;font-size:18px}.training-roadmap div>p:last-child{margin:0;color:var(--muted);font-size:14px}.training-note{display:grid;gap:16px;margin-top:22px;padding:22px;background:var(--accent-pale);border-radius:14px}.training-note p{margin:0}.about{background:var(--sub)}.about-grid{display:grid;gap:32px}.portrait-placeholder{min-height:360px;display:grid;place-items:center;background:linear-gradient(145deg,var(--primary-pale),#d6e3e8);border-radius:22px;color:var(--primary);text-align:center;font-weight:700}.portrait-placeholder::before{content:"";position:absolute}.portrait-placeholder small{font-weight:400}.about p{color:var(--muted)}.representative-name{font-size:23px!important;color:var(--text)!important}.representative-name small{font-size:14px;margin-right:12px}.qualifications{display:grid;gap:10px;margin-top:24px}.qualifications span{padding:14px 16px;background:#fff;border-left:4px solid var(--accent);font-size:12px}.qualifications b{font-size:15px;color:var(--primary)}.office{background:#fff}.office-list{margin:30px 0 0;border-top:2px solid var(--primary)}.office-list div{display:grid;gap:4px;padding:15px 4px;border-bottom:1px solid var(--border)}.office-list dt{color:var(--primary);font-weight:700}.office-list dd{margin:0}.faq{background:var(--sub)}.faq-list{margin-top:32px}.faq-list details{background:#fff;border-bottom:1px solid var(--border)}.faq-list details:first-child{border-radius:12px 12px 0 0}.faq-list details:last-child{border-radius:0 0 12px 12px;border:0}.faq-list summary{position:relative;padding:20px 48px 20px 20px;cursor:pointer;font-weight:700;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::before{content:"Q";display:inline-block;margin-right:12px;color:var(--accent);font-weight:800}.faq-list summary::after{content:"＋";position:absolute;right:20px;color:var(--primary)}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:0;padding:0 20px 22px 48px;color:var(--muted)}.contact{background:var(--primary)}.contact-box{display:grid;gap:28px;color:#fff}.contact .section-kicker{color:#b9d6c5}.contact h2{color:#fff}.contact p{color:#e3edf1}.caution{padding-left:20px;font-size:13px;position:relative}.caution::before{content:"※";position:absolute;left:0}.contact-actions{display:grid;gap:11px}.light{background:#fff;color:var(--primary)}.outline-light{border-color:#fff;color:#fff}.contact-actions small{text-align:center;color:#bed0d9}.site-footer{padding:55px 0 22px;background:#183a4c;color:#dce8ed;font-size:14px}.footer-grid{display:grid;gap:30px}.footer-brand{margin:0 0 5px;color:#fff;font-size:18px;font-weight:700}.site-footer nav{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}.site-footer nav a{text-decoration:none}.privacy-placeholder{color:#aebfc7}.copyright{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:40px;padding-top:18px;border-top:1px solid rgba(255,255,255,.15)}.copyright a{text-decoration:none}
.news-panel{position:relative;z-index:2;display:grid;gap:18px;margin-bottom:28px;padding:22px;background:#fff;border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow)}.news-heading{display:flex;align-items:baseline;gap:12px}.news-heading .section-kicker{margin:0}.news-heading h2{margin:0;color:var(--primary);font-size:21px;line-height:1.4}.news-list{list-style:none;margin:0;padding:0}.news-list li{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--border)}.news-list time{color:var(--accent);font-size:13px;font-weight:700;letter-spacing:.03em}.news-list span{font-size:14px;line-height:1.65}
@media(min-width:600px){.button-group{flex-direction:row;flex-wrap:wrap}.button-group .text-link{align-self:auto;display:inline-flex;align-items:center}.concerns-grid{grid-template-columns:1fr 1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card.featured{grid-column:1/-1}.qualifications{grid-template-columns:1fr 1fr}.office-list div{grid-template-columns:155px 1fr;gap:20px}.office-list dt{padding-left:10px}.news-panel{grid-template-columns:150px 1fr;align-items:start;padding:24px 28px}.news-heading{display:block}.news-heading .section-kicker{margin-bottom:2px}.news-list li{grid-template-columns:90px 1fr;gap:14px}}
@media(min-width:768px){.container{width:min(calc(100% - 64px),var(--max))}.header-inner{width:min(calc(100% - 64px),var(--max));min-height:82px}.brand strong{font-size:16px}.brand small{font-size:11px}.menu-button{display:none}.global-nav{position:static;display:flex;align-items:center;gap:6px;padding:0;background:transparent;border:0;box-shadow:none}.global-nav a{padding:9px 8px;border:0;font-size:13px}.nav-contact{margin-left:4px!important;padding:9px 13px!important;border:1px solid var(--primary)!important;border-radius:7px}.hero-grid{grid-template-columns:1.05fr .95fr;align-items:center;padding-top:86px;padding-bottom:80px}.hero h1{font-size:clamp(48px,5.5vw,68px)}.area-strip .container{flex-direction:row;align-items:center;gap:28px}.section{padding:96px 0}.concerns-grid{grid-template-columns:repeat(3,1fr)}.service-grid{grid-template-columns:repeat(2,1fr)}.service-card.featured{grid-column:auto}.two-column{grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start}.process-list{grid-template-columns:repeat(6,1fr);gap:8px}.process-list li{display:block;padding:0 8px;text-align:center}.process-list li:not(:last-child)::after{left:calc(50% + 27px);right:calc(-50% + 27px);top:25px;bottom:auto;width:auto;height:1px}.process-list>li>span{margin:0 auto 14px}.process-list h3{font-size:15px}.section-heading-row{grid-template-columns:1fr 1fr;align-items:end;gap:70px}.training-roadmap{grid-template-columns:1fr 1fr}.training-note{grid-template-columns:1fr auto;align-items:center}.about-grid{grid-template-columns:.8fr 1.2fr;gap:70px;align-items:center}.footer-grid{grid-template-columns:1.1fr .8fr 1fr;gap:60px}}
@media(min-width:1040px){.global-nav a{font-size:14px;padding-inline:11px}.service-grid{grid-template-columns:repeat(3,1fr)}.service-card.featured{grid-column:span 2}.training-roadmap{grid-template-columns:repeat(4,1fr)}.training-roadmap article{display:block}.training-roadmap article>span{display:block;margin-bottom:20px}.hero-visual{min-height:390px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{.site-header,.button-group,.contact-actions,.copyright a{display:none}.section{padding:34px 0}.hero{background:#fff}.process,.contact{background:#fff;color:var(--text)}.process h2,.contact h2{color:var(--primary)}.process p,.contact p{color:var(--text)}body{font-size:12pt}.service-card,.concern-card{break-inside:avoid}}
.brand-logo{display:block;flex:0 0 auto;width:42px;height:42px;object-fit:contain;border-radius:9px}
.hero-image{width:100%;max-width:560px;margin:0 auto;align-self:center}.hero-image img{display:block;width:100%;height:auto;filter:drop-shadow(0 16px 20px rgba(38,50,56,.08))}
