@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+JP:wght@400;500;600;700;800&display=swap');
:root{--navy:#0d1b35;--navy2:#152b4f;--blue:#2769d9;--blue2:#58a6ff;--orange:#f5a000;--ink:#15223a;--muted:#68758a;--pale:#f4f7fc;--line:#e2e8f1;--white:#fff;--max:1200px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;font-family:'DM Sans','Noto Sans JP',sans-serif;color:var(--ink);background:#fff;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.site-header{height:86px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);backdrop-filter:blur(16px);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(226,232,241,.7)}.brand{display:flex;align-items:center;gap:11px;font-size:24px;font-weight:800;letter-spacing:.09em;color:var(--navy);line-height:1}.brand img{width:43px;height:49px;object-fit:contain}.brand small{display:block;font-size:9px;letter-spacing:.12em;font-weight:600;margin-top:6px}.nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:600}.nav>a:not(.nav-cta){transition:color .2s}.nav>a:hover,.nav>a.active{color:var(--blue)}.nav-cta{background:var(--navy);color:white!important;padding:13px 19px;border-radius:3px;transition:background .2s}.nav-cta:hover{background:var(--blue)}.nav-cta span{margin-left:12px;color:#ffbd35}.menu-toggle{display:none;background:none;border:0}.hero{min-height:680px;position:relative;overflow:hidden;background:linear-gradient(115deg,#f8faff 0%,#f2f6fd 48%,#e8f1ff 100%);padding:100px max(8vw,30px) 72px;display:flex;align-items:center}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(35,90,165,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(35,90,165,.045) 1px,transparent 1px);background-size:58px 58px;mask-image:linear-gradient(90deg,black,transparent 92%)}.hero-content{position:relative;z-index:2;width:57%;max-width:700px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:.19em;color:var(--blue);margin:0 0 23px;text-transform:uppercase}.eyebrow span{display:inline-block;width:24px;height:2px;background:var(--orange);vertical-align:middle;margin-right:9px}.hero h1{font-size:clamp(42px,5.3vw,72px);line-height:1.32;letter-spacing:.025em;margin:0 0 24px;color:var(--navy);font-weight:700}.hero h1 em{font-style:normal;color:var(--blue)}.hero-copy{font-size:14px;line-height:2.15;color:#53627a;letter-spacing:.03em}.hero-actions{display:flex;align-items:center;gap:30px;margin-top:34px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;padding:16px 22px;min-width:210px;font-size:12px;font-weight:700;border:0;cursor:pointer;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:18px}.button-primary{background:var(--navy);color:white}.button-primary span{color:#ffbd35}.button-primary:hover{background:var(--blue)}.button-light{background:#fff;color:var(--navy)}.text-link{display:inline-flex;gap:15px;align-items:center;font-size:12px;font-weight:700;border-bottom:1px solid #a8b5c8;padding-bottom:7px}.text-link span{font-size:18px;color:var(--blue)}.hero-note{display:flex;align-items:center;gap:12px;margin-top:58px;color:#64738a;font-size:11px;letter-spacing:.04em}.note-mark{display:grid;place-items:center;width:29px;height:29px;background:#fff;border:1px solid #f4bd3b;border-radius:50%;color:var(--blue);font-weight:800}.hero-visual{position:absolute;width:46%;height:100%;right:0;top:0;overflow:hidden;background:radial-gradient(ellipse at 57% 45%,#c4dcff 0%,#e3edff 32%,rgba(239,245,255,.1) 69%)}.orb{position:absolute;border-radius:50%;filter:blur(1px)}.orb-one{width:340px;height:340px;right:12%;top:17%;background:radial-gradient(circle at 35% 30%,#fff 0%,#94c1ff 24%,#3478df 57%,#123a84 100%);box-shadow:0 35px 90px #3979c54a}.orb-two{width:180px;height:180px;right:7%;top:54%;background:radial-gradient(circle at 30% 25%,#fff 0%,#ffd878 20%,#f7a91a 48%,#f17a12 100%);opacity:.88;mix-blend-mode:screen}.orb-ring{position:absolute;width:470px;height:470px;border:1px solid rgba(39,105,217,.28);border-radius:50%;right:-2%;top:8%;transform:rotate(-25deg) scaleY(.55);box-shadow:0 0 0 38px rgba(39,105,217,.04),0 0 0 78px rgba(39,105,217,.03)}.visual-label{position:absolute;right:12%;bottom:17%;font-size:11px;font-weight:700;letter-spacing:.15em;color:#264a7f}.visual-label span{display:block;font-size:8px;letter-spacing:.2em;color:#6e87a9;margin-top:7px}.visual-cross{position:absolute;right:15%;top:18%;font-size:25px;color:#fff}.hero-bottom{position:absolute;bottom:20px;left:max(8vw,30px);right:max(8vw,30px);display:flex;justify-content:space-between;color:#8391a6;font-size:8px;letter-spacing:.15em}.section-pad{padding:110px max(8vw,30px)}.intro{display:grid;grid-template-columns:1fr 1fr;gap:8%;align-items:start}.section-heading h2,.section-top h2,.values h2,.contact-band h2{font-size:clamp(31px,3.5vw,47px);line-height:1.55;letter-spacing:.025em;color:var(--navy);margin:0}.gradient-text{background:linear-gradient(100deg,#2567d1,#57a7ff);-webkit-background-clip:text;background-clip:text;color:transparent}.intro-body{padding-top:35px;max-width:510px}.intro-body p{font-size:13px;color:var(--muted);line-height:2.2;margin:0 0 17px}.intro-body .text-link{margin-top:15px}.services-section{background:var(--pale)}.section-top{display:flex;justify-content:space-between;align-items:end;margin-bottom:42px}.section-top .text-link{margin-bottom:9px}.service-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.service-card{display:flex;flex-direction:column;min-height:300px;padding:30px;background:#fff;border:1px solid #e5ebf4;transition:transform .25s,box-shadow .25s}.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px #152e5012}.service-card.featured{background:var(--navy);color:white}.card-number{font-size:9px;letter-spacing:.13em;color:#7d8ca5;font-weight:700}.featured .card-number{color:#9fb9e8}.service-icon{width:44px;height:44px;border:1px solid #d9e5f7;border-radius:50%;display:grid;place-items:center;color:var(--blue);font-size:22px;margin:27px 0 12px}.featured .service-icon{border-color:#ffffff38;color:#ffbd35}.service-card h3{font-size:19px;margin:0 0 10px;color:var(--navy)}.featured h3{color:white}.service-card p{font-size:12px;color:#728096;line-height:2;margin:0 0 25px}.featured p{color:#c2cee1}.card-arrow{font-size:10px;font-weight:700;margin-top:auto}.featured .card-arrow{color:#ffbd35}.promise{position:relative;overflow:hidden;background:var(--navy);color:#fff;padding:100px max(8vw,30px);min-height:440px}.promise-bg{position:absolute;inset:0;background:radial-gradient(circle at 78% 45%,#1b4a8b 0%,transparent 32%),linear-gradient(120deg,transparent 50%,#152c50 100%)}.promise:after{content:"";position:absolute;width:470px;height:470px;border:1px solid #ffffff19;border-radius:50%;right:9%;top:-4%;box-shadow:0 0 0 45px #ffffff06,0 0 0 100px #ffffff04}.promise-content{position:relative;z-index:2}.promise .eyebrow{color:#86b7ff}.promise h2{font-size:clamp(34px,4vw,52px);line-height:1.55;margin:0 0 20px;letter-spacing:.03em}.promise-content>p:not(.eyebrow){font-size:13px;line-height:2.2;color:#c0cce0;margin-bottom:28px}.promise-side{position:absolute;right:7%;bottom:42px;writing-mode:vertical-rl;font-size:9px;letter-spacing:.22em;color:#8da8d0}.contact-band{display:flex;justify-content:space-between;align-items:center;gap:30px}.contact-band-copy>p:last-child{color:var(--muted);font-size:13px}.contact-circle{width:170px;height:170px;border-radius:50%;border:1px solid #d9e3f1;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-size:12px;font-weight:700;transition:all .25s}.contact-circle b{font-size:24px;color:var(--blue);font-weight:400}.contact-circle:hover{background:var(--navy);color:#fff;border-color:var(--navy)}.site-footer{background:#09152b;color:#fff;padding:46px max(5vw,24px) 18px}.footer-main{display:grid;grid-template-columns:1fr 1fr auto;gap:30px;align-items:center;padding-bottom:38px}.brand-footer{color:#fff}.brand-footer img{background:#fff;border-radius:50%;padding:4px}.footer-main>p{font-size:12px;color:#aebbd0}.footer-main nav{display:flex;gap:18px;flex-wrap:wrap;font-size:10px;color:#c0ccdc}.footer-main nav a:hover{color:#ffbd35}.footer-bottom{border-top:1px solid #ffffff1c;padding-top:17px;display:flex;justify-content:space-between;color:#7f90a9;font-size:9px;letter-spacing:.1em}.page-hero{position:relative;overflow:hidden;padding:88px max(8vw,30px) 78px;background:linear-gradient(110deg,#f6f9ff,#e9f1ff);min-height:280px}.page-hero-art{position:absolute;width:380px;height:380px;right:10%;top:-130px;border-radius:50%;border:1px solid #6e9ddd40;box-shadow:0 0 0 38px #5e9ae40b,0 0 0 80px #5e9ae407}.page-hero .eyebrow,.page-hero h1,.page-hero>p:not(.eyebrow),.breadcrumb{position:relative;z-index:1}.page-hero h1{font-size:clamp(36px,4vw,52px);color:var(--navy);margin:0 0 8px;letter-spacing:.04em}.page-hero>p:not(.eyebrow){color:#687a95;font-size:13px;margin:0}.breadcrumb{position:absolute;right:max(8vw,30px);bottom:25px;font-size:10px;color:#71829a}.breadcrumb span{margin:0 12px;color:#a6b3c4}.philosophy-lead{display:grid;grid-template-columns:.8fr 1.2fr;column-gap:8%;row-gap:5px}.philosophy-lead>.eyebrow{grid-column:1/-1}.philosophy-lead h2{grid-column:1;grid-row:2;font-size:clamp(30px,3.3vw,44px);line-height:1.6;color:var(--navy);margin:0}.philosophy-text{grid-column:2;grid-row:2;padding-top:8px}.philosophy-text p{font-size:13px;color:var(--muted);line-height:2.25;margin:0 0 18px}.values{background:var(--pale)}.values h2{margin-bottom:45px}.value-list{border-top:1px solid #dce4ef}.value-item{display:grid;grid-template-columns:70px 1fr 190px;gap:25px;padding:31px 0;border-bottom:1px solid #dce4ef;align-items:start}.value-item>span{font-size:13px;color:var(--blue);font-weight:700}.value-item h3{font-size:19px;color:var(--navy);margin:0 0 8px}.value-item p{font-size:12px;color:var(--muted);margin:0;max-width:650px}.value-item>b{font-size:9px;letter-spacing:.14em;color:#9ba8ba;text-align:right;padding-top:6px}.belief-end,.service-cta,.company-note{text-align:center;padding:95px 24px;background:#f6f9ff}.belief-end h2,.service-cta h2,.company-note h2{font-size:clamp(32px,4vw,46px);line-height:1.5;color:var(--navy);margin:0 0 18px}.belief-end>p:not(.eyebrow),.service-cta>p:not(.eyebrow),.company-note>p:not(.eyebrow){font-size:13px;color:var(--muted);margin:0 auto 27px}.service-detail{display:grid;grid-template-columns:160px 1fr 280px;gap:35px;align-items:center;border-bottom:1px solid var(--line)}.detail-number{align-self:start;color:var(--blue);font-size:40px;font-weight:700;line-height:1}.detail-number span{display:block;font-size:8px;letter-spacing:.12em;color:#9aa8bb;margin-top:12px}.detail-content .eyebrow{margin-bottom:13px}.detail-content h2{font-size:clamp(27px,3vw,39px);line-height:1.55;color:var(--navy);margin:0 0 17px}.detail-content p{font-size:12px;color:var(--muted);line-height:2.2}.detail-content .detail-lead{font-size:14px;color:#324662;font-weight:600}.tag-list{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0}.tag-list span{font-size:10px;background:#f0f5fc;border:1px solid #e1eaf7;color:#526680;padding:7px 10px}.notice{font-size:10px!important;background:#f7f8fa;padding:12px 14px;color:#6f7c8e!important}.detail-content .text-link{margin-top:12px}.detail-graphic{height:260px;position:relative;overflow:hidden;background:linear-gradient(145deg,#e9f2ff,#f8fbff);display:grid;place-items:center;color:#3569b5;font-size:12px;font-weight:700;letter-spacing:.15em;text-align:center}.detail-graphic span{position:relative;z-index:2}.detail-graphic b{position:absolute;right:20px;top:12px;font-size:26px;color:var(--orange);font-weight:400}.graphic-orbit{position:absolute;width:210px;height:210px;border:1px solid #70a5e75c;border-radius:50%;box-shadow:0 0 0 24px #6fa2df0e,0 0 0 50px #6fa2df0b}.graphic-dx{background:linear-gradient(145deg,#102447,#23538f);color:#fff}.dx-lines{position:absolute;inset:0;background:repeating-linear-gradient(135deg,transparent 0 19px,#ffffff0b 20px 21px)}.graphic-life{background:linear-gradient(145deg,#fff6e5,#eef6ff);color:#425d7f}.life-sun{position:absolute;width:150px;height:150px;border-radius:50%;background:linear-gradient(140deg,#ffd976,#f6a51b);opacity:.65;filter:blur(1px)}.detail-reverse .detail-graphic{grid-column:3}.detail-reverse .detail-content{grid-column:2}.detail-reverse .detail-number{grid-column:1}.company-intro{display:grid;grid-template-columns:.75fr 1.25fr;gap:8%;align-items:start}.company-statement h2{font-size:clamp(32px,3.5vw,46px);line-height:1.55;color:var(--navy);margin:0}.company-table{width:100%;border-collapse:collapse}.company-table tr{border-bottom:1px solid var(--line)}.company-table tr:first-child{border-top:1px solid var(--line)}.company-table th,.company-table td{text-align:left;padding:19px 15px;font-size:12px;vertical-align:top}.company-table th{width:145px;color:#52637b;font-weight:600}.company-table td{color:#273b58}.company-note{background:var(--navy);color:white}.company-note .eyebrow{color:#8bb8ff}.company-note h2{color:#fff}.company-note>p:not(.eyebrow){color:#b8c8df}.contact-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}.contact-info{position:relative;min-height:500px}.contact-info h2{font-size:clamp(29px,3.2vw,42px);line-height:1.55;color:var(--navy);margin:0 0 20px}.contact-info>p:not(.eyebrow){font-size:13px;color:var(--muted);line-height:2.2}.contact-hours{margin-top:35px;border-top:1px solid var(--line);padding-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:3px}.contact-hours span{font-size:11px;color:#738198}.contact-hours b{font-size:13px;color:var(--navy)}.contact-hours small{grid-column:2;color:#8794a8;font-size:10px}.contact-decoration{position:absolute;bottom:0;left:0;font-size:42px;font-weight:800;letter-spacing:.1em;color:#e8eff9}.contact-decoration span{display:block;font-size:8px;letter-spacing:.2em;color:#9aabc3}.form-panel{background:#f7f9fd;padding:34px}.form-row{margin-bottom:20px}.form-row label{display:block;font-size:12px;font-weight:700;color:var(--navy);margin-bottom:8px}.required,.optional{font-size:9px;padding:3px 6px;margin-left:8px;border-radius:2px}.required{color:#b44a32;background:#fff0eb}.optional{color:#74849b;background:#e9eef6}input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;font:inherit;font-size:12px;padding:13px 14px;border:1px solid #dce4ef;background:#fff;border-radius:0;outline:none;color:var(--ink);transition:border .2s}input:focus,select:focus,textarea:focus{border-color:var(--blue)}textarea{resize:vertical}.consent{display:flex;gap:10px;align-items:center;font-size:11px;margin:20px 0}.consent input{accent-color:var(--blue)}.consent a{text-decoration:underline;color:var(--blue)}.consent em{font-style:normal;color:#b44a32;font-size:9px}.form-note{font-size:10px;color:#8995a7;line-height:1.8}.submit-button{width:100%;margin-top:8px}.form-message{font-size:12px;color:var(--blue);margin-top:12px}.privacy-content{max-width:900px;margin:auto}.privacy-content h2{font-size:19px;color:var(--navy);margin:30px 0 10px}.privacy-content p{font-size:13px;color:var(--muted);line-height:2.2}.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:translateY(0)}@media(max-width:900px){.nav{gap:17px}.hero-content{width:65%}.hero-visual{width:42%;opacity:.75}.hero h1{font-size:52px}.service-detail{grid-template-columns:100px 1fr 200px;gap:22px}.detail-graphic{height:220px}.company-intro{grid-template-columns:1fr;gap:35px}.contact-layout{gap:5%}.footer-main{grid-template-columns:1fr 1fr}.footer-main nav{grid-column:1/-1}}@media(max-width:700px){.site-header{height:72px;padding:0 20px}.brand{font-size:21px}.brand img{width:35px;height:41px}.menu-toggle{display:flex;flex-direction:column;gap:5px;padding:10px;z-index:61}.menu-toggle span{display:block;width:23px;height:2px;background:var(--navy);transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(7px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:nth-child(2){opacity:0}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-7px) rotate(-45deg)}.nav{display:none;position:absolute;top:71px;left:0;right:0;padding:22px 24px 28px;background:#fff;box-shadow:0 20px 30px #10274b16;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav>a{padding:14px 0;border-bottom:1px solid #edf0f5}.nav .nav-cta{margin-top:14px;padding:14px 16px;border:0;text-align:center}.hero{min-height:700px;padding:78px 24px 65px;align-items:flex-start}.hero-content{width:100%;max-width:none}.hero h1{font-size:clamp(40px,10vw,58px)}.hero-copy{font-size:12px}.hero-visual{width:100%;height:48%;top:auto;bottom:0;opacity:.55}.orb-one{width:230px;height:230px;right:10%;top:5%}.orb-two{width:110px;height:110px;right:9%;top:45%}.orb-ring{width:320px;height:320px;right:-4%;top:0}.visual-label{bottom:20%;right:10%}.hero-note{margin-top:33px}.hero-actions{gap:18px;flex-wrap:wrap}.button{min-width:190px;padding:14px 17px}.hero-bottom{font-size:7px;left:24px;right:24px}.section-pad{padding:72px 24px}.intro{grid-template-columns:1fr;gap:12px}.intro-body{padding-top:0}.section-top{align-items:flex-start;gap:22px;flex-direction:column}.section-top h2,.section-heading h2,.values h2,.contact-band h2{font-size:32px}.service-cards{grid-template-columns:1fr}.service-card{min-height:250px}.promise{padding:75px 24px;min-height:450px}.promise:after{right:-60%;top:20%}.promise h2{font-size:35px}.promise-side{right:15px;bottom:30px;font-size:7px}.contact-band{align-items:flex-start;flex-direction:column}.contact-circle{width:130px;height:130px;align-self:flex-end}.footer-main{grid-template-columns:1fr;gap:18px}.footer-main nav{grid-column:auto;gap:15px}.footer-bottom{font-size:8px}.page-hero{padding:65px 24px 75px;min-height:240px}.page-hero h1{font-size:37px}.page-hero-art{right:-190px}.breadcrumb{left:24px;right:auto;bottom:18px}.philosophy-lead{display:block}.philosophy-lead h2{font-size:31px;margin-bottom:25px}.value-item{grid-template-columns:35px 1fr;gap:13px}.value-item>b{grid-column:2;text-align:left}.service-detail{grid-template-columns:1fr;gap:18px}.detail-number{font-size:32px}.detail-content h2{font-size:30px}.detail-graphic{height:210px;grid-row:2}.detail-reverse .detail-graphic,.detail-reverse .detail-content,.detail-reverse .detail-number{grid-column:auto}.detail-reverse .detail-graphic{grid-row:2}.company-intro{gap:25px}.company-table th,.company-table td{padding:15px 8px;font-size:11px}.company-table th{width:100px}.contact-layout{grid-template-columns:1fr;gap:38px}.contact-info{min-height:380px}.form-panel{padding:22px 17px}.contact-decoration{bottom:0}.belief-end,.service-cta,.company-note{padding:75px 24px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important;transition:none!important}}