@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@600;700&family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{--navy:#1e3a5f;--dark:#122a49;--red:#c0392b;--hover:#a93226;--soft:#f7f8fa;--ink:#202b38;--muted:#667382;--line:#dce2e8;--shadow:0 18px 55px #1e3a5f1c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:var(--ink);margin:0;font-family:Noto Sans JP,sans-serif;line-height:1.8}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;display:block}button,input,select,textarea{font:inherit}.container{width:min(1120px,100% - 48px);margin:auto}.narrow{width:min(820px,100% - 48px);margin:auto}.section{padding:110px 0}.section-soft{background:var(--soft)}.eyebrow{color:var(--red);letter-spacing:.18em;margin:0 0 10px;font:700 .75rem DM Sans}.light{color:#f2b7b0}.section-title{color:var(--navy);letter-spacing:-.04em;margin:0;font-size:clamp(2rem,4vw,3.4rem);line-height:1.35}.section-lead{color:var(--muted);max-width:620px;margin-top:20px}.section-head{justify-content:space-between;align-items:end;gap:30px;margin-bottom:50px;display:flex}.text-link,.sub-link{color:var(--navy);border-bottom:1px solid;padding-bottom:4px;font-weight:700}.btn{background:var(--red);color:#fff;cursor:pointer;border:0;border-radius:5px;justify-content:center;align-items:center;min-height:58px;padding:0 28px;font-weight:700;transition:all .25s;display:inline-flex;box-shadow:0 10px 25px #c0392b33}.btn:hover{background:var(--hover);transform:translateY(-2px)}.btn-white{color:var(--navy);box-shadow:none;background:#fff}.btn-white:hover{background:#f1f3f5}.site-header{background:var(--navy);color:#fff;z-index:20;height:88px;position:relative}.header-inner{justify-content:space-between;align-items:center;width:min(1240px,100% - 48px);height:100%;margin:auto;display:flex}.brand{align-items:center;gap:12px;display:flex}.brand>span:last-child{flex-direction:column;line-height:1.1;display:flex}.brand b{font:700 1.35rem DM Sans}.brand small{letter-spacing:.07em;margin-top:5px;font-size:.61rem}.brand-mark{color:#fff;border:1px solid #fff6;place-items:center;width:39px;height:39px;font:700 .72rem DM Sans;display:grid;position:relative}.brand-mark:after{content:"";background:var(--red);width:6px;height:6px;position:absolute;bottom:5px;right:5px}.global-nav{align-items:center;gap:32px;font-size:.84rem;font-weight:600;display:flex}.global-nav>a:not(.nav-cta){border-bottom:2px solid #0000;padding-bottom:4px}.global-nav>a:hover,.global-nav>a.current{border-color:#fff}.nav-cta{background:var(--red);border-radius:4px;padding:12px 20px}.nav-cta:hover{background:var(--hover)}.menu-toggle{background:0 0;border:0;width:44px;display:none}.menu-toggle span{background:#fff;height:2px;margin:6px;display:block}.hero{background:var(--dark);color:#fff}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;width:min(1240px,100% - 48px);min-height:700px;margin:auto;display:grid}.hero-copy{padding:70px 60px 70px 0}.hero h1{letter-spacing:-.06em;margin:12px 0 28px;font-size:clamp(2.8rem,5.2vw,4.7rem);line-height:1.25}.hero-copy>p:not(.eyebrow){color:#d5deea;max-width:510px}.hero-actions{align-items:center;gap:28px;margin-top:35px;display:flex}.hero .sub-link{color:#fff}.hero-visual{height:590px;position:relative}.hero-visual img{filter:saturate(.7);border-radius:0 0 0 70px;height:100%}.hero-note{color:var(--navy);box-shadow:var(--shadow);background:#fff;padding:20px 26px;font-weight:700;position:absolute;bottom:30px;left:-40px}.hero-note span{color:var(--red);letter-spacing:.12em;font:700 .66rem DM Sans;display:block}.pain-grid{grid-template-columns:.9fr 1.1fr;align-items:center;gap:75px;display:grid}.pain-list{grid-template-columns:1fr 1fr;gap:15px;display:grid}.pain-list article{border:1px solid var(--line);background:#fff;border-radius:10px;min-height:145px;padding:24px;box-shadow:0 8px 25px #1e3a5f0d}.pain-list b{color:var(--navy)}.pain-list b:before{content:"✓";color:var(--red);margin-right:10px}.pain-list p{color:var(--muted);margin:10px 0 0;font-size:.84rem}.solution-band{background:var(--navy);color:#fff;padding:66px 0}.solution-inner{grid-template-columns:1fr 1.2fr;align-items:center;gap:70px;display:grid}.solution-inner h2{margin:0;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.45}.solution-inner p{color:#d2dce8;margin:0}.service-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.service-grid article{border:1px solid var(--line);border-radius:16px;padding:35px 26px;transition:all .25s}.service-grid article:hover{box-shadow:var(--shadow);transform:translateY(-6px)}.service-grid span{color:#e5e9ee;font:700 2.8rem DM Sans}.service-grid h3{color:var(--navy);font-size:1.05rem}.service-grid p{color:var(--muted);font-size:.83rem}.flow{grid-template-columns:repeat(4,1fr);gap:24px;display:grid}.flow article{padding-top:48px;position:relative}.flow article:not(:last-child):after{content:"";border-top:1px solid var(--line);position:absolute;top:15px;left:48px;right:0}.flow b{color:var(--red);font:700 .78rem DM Sans;position:absolute;top:0}.flow h3{color:var(--navy)}.flow p{color:var(--muted);font-size:.83rem}.voice{background:var(--soft);border-radius:24px;grid-template-columns:.9fr 1.1fr;display:grid;overflow:hidden}.voice img{height:430px}.voice>div{padding:58px}.quote{color:var(--navy);font-size:1.4rem;font-weight:700}.page-hero{background:var(--navy);color:#fff;padding:80px 0 90px;position:relative}.page-hero:after{content:"";background:var(--red);width:160px;height:75px;position:absolute;bottom:-38px;right:8%}.page-hero h1{letter-spacing:-.05em;margin:10px 0 16px;font-size:clamp(2.6rem,5vw,4.4rem);line-height:1.25}.page-hero>div>p:last-child{color:#d4deea}.breadcrumb{color:#a7b6c7;font-size:.72rem}.about-intro{grid-template-columns:1fr 1fr;align-items:center;gap:75px;display:grid}.about-intro img{border-radius:4px 60px 4px 4px;height:520px}.philosophy{grid-template-columns:repeat(3,1fr);gap:22px;margin-top:45px;display:grid}.philosophy article{border-top:4px solid var(--red);box-shadow:var(--shadow);background:#fff;padding:32px}.philosophy b{color:var(--red);font:700 .7rem DM Sans}.philosophy h3{color:var(--navy)}.philosophy p{color:var(--muted);font-size:.86rem}.company-table{border-collapse:collapse;width:100%;margin-top:35px}.company-table th,.company-table td{border-bottom:1px solid var(--line);text-align:left;padding:20px}.company-table th{width:27%;color:var(--navy)}.intro-copy{margin-bottom:60px}.service-detail{border-top:1px solid var(--line);grid-template-columns:115px 1fr;gap:40px;padding:55px 0;display:grid}.service-detail:last-of-type{border-bottom:1px solid var(--line)}.service-index{color:var(--red);font:700 .8rem DM Sans}.service-detail h2{color:var(--navy);margin:0;font-size:1.8rem}.service-detail>div>p{color:var(--muted)}.service-info{grid-template-columns:1.4fr .8fr;gap:25px;margin-top:25px;display:grid}.service-info>div{background:var(--soft);padding:25px}.service-info h3{color:var(--navy);margin-top:0;font-size:.8rem}.service-info ul{padding-left:1.2em;font-size:.86rem}.price{font-weight:700;color:var(--red)!important;font-size:1.35rem!important}.service-info small,.note{color:var(--muted);font-size:.72rem}.faq-list{border-top:1px solid var(--line)}.faq-item{border-bottom:1px solid var(--line)}.faq-item button{text-align:left;width:100%;color:var(--navy);cursor:pointer;background:0 0;border:0;padding:27px 55px 27px 0;font-weight:700;position:relative}.faq-item button:before{content:"Q";color:var(--red);margin-right:18px;font:700 1.1rem DM Sans}.faq-item button:after{content:"+";font-size:1.5rem;position:absolute;right:8px}.faq-item.open button:after{content:"−"}.faq-answer{grid-template-rows:0fr;transition:all .3s;display:grid}.faq-answer>div{overflow:hidden}.faq-answer p{color:var(--muted);margin:0 45px 26px}.faq-answer p:before{content:"A";color:var(--navy);margin-right:18px;font:700 1rem DM Sans}.faq-item.open .faq-answer{grid-template-rows:1fr}.contact-layout{grid-template-columns:.75fr 1.25fr;gap:70px;display:grid}.contact-layout aside{background:var(--navy);color:#fff;height:max-content;padding:40px}.contact-layout aside>p{color:#d2dce8}.contact-point{border-top:1px solid #ffffff2b;padding:20px 0}.contact-point b,.contact-point span{display:block}.contact-point span{color:#aebdcd;font-size:.78rem}.form-row{margin-bottom:23px}.form-row label{color:var(--navy);margin-bottom:7px;font-weight:700;display:block}.required{color:var(--red);margin-left:7px;font-size:.68rem}.form-row input,.form-row select,.form-row textarea{background:#fff;border:1px solid #cad2db;border-radius:4px;width:100%;padding:14px}.form-row textarea{resize:vertical;height:180px}.form-row :focus{border-color:var(--navy);outline:3px solid #1e3a5f20}.privacy{color:var(--muted);font-size:.78rem}.form-success{background:var(--soft);text-align:center;padding:50px}.footer-cta{text-align:center;background:var(--red);padding:75px 24px}.footer-cta h2{margin:0;font-size:clamp(2rem,4vw,3.1rem);line-height:1.4}.footer-cta>p:not(.eyebrow){color:#f5d8d5;margin-bottom:25px}.footer-inner{justify-content:space-between;width:min(1120px,100% - 48px);margin:auto;padding:65px 0;display:flex}.footer-inner>div>p{color:#8fa0b4;font-size:.8rem}.footer-inner nav{grid-template-columns:1fr 1fr;gap:15px 45px;font-size:.83rem;display:grid}.footer-bottom{color:#8092a7;border-top:1px solid #ffffff19;justify-content:space-between;padding:18px max(24px,50% - 560px);font-size:.7rem;display:flex}.reveal{opacity:0;transition:all .7s;transform:translateY(24px)}.reveal.visible{opacity:1;transform:none}@media (width<=900px){.global-nav{background:var(--navy);flex-direction:column;align-items:stretch;padding:28px;display:none;position:absolute;top:88px;left:0;right:0}.global-nav.is-open{display:flex}.menu-toggle{display:block}.hero-inner{grid-template-columns:1fr}.hero-copy{padding:70px 0}.hero-visual{height:430px;margin-bottom:45px}.pain-grid,.solution-inner,.about-intro,.contact-layout{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.philosophy,.voice{grid-template-columns:1fr}.voice img{height:300px}.service-detail{grid-template-columns:85px 1fr}}@media (width<=600px){.container,.narrow,.header-inner,.hero-inner,.footer-inner{width:calc(100% - 32px)}.section{padding:76px 0}.section-head{display:block}.section-head a{margin-top:20px;display:inline-block}.hero h1{font-size:2.7rem}.hero-actions{flex-direction:column;align-items:flex-start}.hero-visual{height:350px}.hero-note{padding:14px;font-size:.75rem;left:15px}.pain-list,.service-grid,.flow,.service-info{grid-template-columns:1fr}.solution-inner{gap:24px}.flow article:after{display:none}.voice>div{padding:34px 24px}.about-intro img{height:380px}.service-detail{grid-template-columns:1fr;gap:10px}.company-table th,.company-table td{width:100%;padding:12px;display:block}.company-table th{border:0;padding-bottom:0}.faq-answer p{margin-left:0}.footer-inner{flex-direction:column;gap:35px}.footer-inner nav{grid-template-columns:1fr}.footer-bottom{flex-direction:column}.page-hero{padding:60px 0 75px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.reveal{opacity:1;transform:none}}.brand-logo{object-fit:contain;filter:drop-shadow(0 4px 8px #00000028);flex:none;width:50px;height:50px;display:block}.site-header{color:var(--navy);background:#fff;box-shadow:0 4px 20px #1e3a5f12}.global-nav>a:not(.nav-cta):hover,.global-nav>a:not(.nav-cta).current{border-color:var(--navy)}.nav-cta{color:#fff}.menu-toggle span{background:var(--navy)}.site-footer{background:var(--soft);color:var(--navy)}.footer-inner>div>p{color:var(--muted)}.footer-inner nav a:hover{color:var(--red)}.footer-bottom{border-top-color:var(--line);color:var(--muted)}.footer-cta{background:var(--navy);color:#fff}.footer-cta h2{color:#fff}.footer-cta .eyebrow{color:#ffb8b0}.footer-cta>p:not(.eyebrow){color:#fff}.footer-cta .btn-white{background:var(--red);color:#fff;box-shadow:0 10px 25px #00000025}.footer-cta .btn-white:hover{background:var(--hover)}.about-us{text-align:left}.about-us .section-title{margin-bottom:32px}.about-us-copy{text-align:left;max-width:760px;color:var(--muted);font-size:1.02rem}.about-us-copy p{margin:0 0 1.45em}.about-us-copy p:first-child{color:var(--navy);font-size:1.18rem;font-weight:600}.form-status{min-height:1.8em;color:var(--red);margin:0 0 12px;font-size:.86rem;font-weight:600}.contact-layout form .btn:disabled{cursor:wait;opacity:.65;transform:none}@media (width<=900px){.global-nav{color:var(--navy);background:#fff;box-shadow:0 14px 24px #1e3a5f18}.global-nav .nav-cta{color:#fff}}
