@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700&family=Noto+Sans+JP:wght@400;500;700;900&display=swap";:root{--ink:#162429;--gold:#d9ab59;--cream:#f3f0e9;--line:#d8d8d2;--green:#243c3d;color:var(--ink);font-synthesis:none;background:#fff;font-family:Noto Sans JP,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit;text-decoration:none}img{object-fit:cover;width:100%;display:block}button,input,textarea,select{font:inherit}.en{text-transform:uppercase;letter-spacing:.14em;color:var(--gold);font-family:DM Sans,sans-serif;font-size:.75rem;font-weight:700}.button{letter-spacing:.05em;cursor:pointer;border:0;justify-content:center;align-items:center;padding:16px 25px;font-weight:700;display:inline-flex}.button.dark{background:var(--ink);color:#fff}.button.gold{background:var(--gold);color:#17272b}.button.outline{color:#fff;border:1px solid #fff}.header{z-index:20;background:#fff;border-bottom:1px solid #eee;align-items:center;height:92px;padding:0 3vw;display:flex;position:sticky;top:0}.brand{flex-direction:column;width:190px;line-height:1;display:flex}.brand b{letter-spacing:.18em;font-family:DM Sans;font-size:1.85rem}.brand small{letter-spacing:.25em;margin-top:8px;font-size:.55rem}.brand.light{color:#fff}.nav{gap:2vw;margin:auto;display:flex}.nav a{padding:35px 0;font-size:.85rem;font-weight:600;position:relative}.nav a.active:after{content:"";background:var(--gold);height:2px;position:absolute;bottom:23px;left:0;right:0}.header-contact{align-items:center;gap:20px;display:flex}.header-contact>a:first-child{flex-direction:column;font-family:DM Sans;font-weight:700;display:flex}.header-contact small{color:var(--gold);letter-spacing:.15em}.menu{background:0 0;border:0;font-size:1.5rem;display:none}.hero{background:linear-gradient(90deg,#0c1f23db,#0c1f231f),var(--hero) center/cover;color:#fff;align-items:center;min-height:690px;padding:8vw;display:flex}.hero>div{max-width:750px}.hero .en{font-size:.8rem}.hero h1{letter-spacing:.05em;max-width:800px;margin:28px 0;font-size:clamp(2.6rem,6vw,5.8rem);line-height:1.12}.hero p{max-width:650px;font-size:1.05rem;line-height:2}.hero .button{margin-top:25px}.section{padding:110px max(5vw,50vw - 640px)}.section-title{margin-bottom:48px}.section-title h2{margin:10px 0;font-size:clamp(2rem,4vw,3.4rem)}.service-grid{background:var(--line);grid-template-columns:repeat(3,1fr);gap:2px;display:grid}.service-card{background:#fff;overflow:hidden}.service-card img{height:260px;transition:all .5s}.service-card:hover img{transform:scale(1.03)}.service-card div{padding:30px}.service-card span{color:var(--gold);font-family:DM Sans;font-weight:700}.service-card h3{margin:12px 0;font-size:1.25rem}.service-card p{color:#617076;min-height:86px;line-height:1.8}.service-card a{border-bottom:1px solid;margin-top:15px;font-size:.85rem;display:inline-block}.workflow-preview{background:var(--cream);padding:110px 9vw}.workflow-preview>div{max-width:1050px}.workflow-preview h3{font-size:clamp(1.5rem,3vw,2.6rem);line-height:1.6}.mini-steps{gap:4px;margin:50px 0;display:flex}.mini-steps span{background:#fff;flex:1;padding:24px;font-weight:700}.wide-lead{max-width:930px;margin-bottom:55px;font-size:clamp(1.3rem,2vw,2.1rem);line-height:1.7}.works-grid{grid-template-columns:repeat(2,1fr);gap:50px 28px;display:grid}.work-card img{height:360px}.work-card>span{color:var(--gold);margin-top:18px;font-size:.75rem;display:inline-block}.work-card h2{font-size:1.25rem}.work-card p{color:#657278}.center-link{border-bottom:1px solid;width:max-content;margin:60px auto 0;display:block}.contact-band{text-align:center;background:var(--gold);padding:85px 20px}.contact-band .en{color:#fff}.contact-band h2{margin:12px;font-size:clamp(2rem,4vw,3.4rem)}.contact-band p{margin-bottom:30px}.contact-band>div{justify-content:center;align-items:center;gap:25px;display:flex}.contact-band>div>a:not(.button){font:700 1.5rem DM Sans}.footer-main{grid-template-columns:2fr 1fr 1.3fr 1.3fr;gap:60px;display:grid}.footer-main>div{flex-direction:column;gap:13px;display:flex}.footer-main h2{font-size:1.15rem;line-height:1.8}.footer-main h3{color:#fff}.copyright{border-top:1px solid #3c4d50;margin-top:70px;padding-top:25px;font-size:.7rem}.page-hero{color:#fff;background:linear-gradient(120deg,#173438,#35575a);flex-direction:column;justify-content:center;align-items:center;height:330px;display:flex}.page-hero h1{margin:12px;font-size:clamp(2.7rem,5vw,4.8rem)}.split{grid-template-columns:1.2fr 1fr;align-items:center;gap:100px;display:grid}.split h2{font-size:2rem;line-height:1.7}.split p{line-height:2}.abstract-art{background:linear-gradient(135deg,var(--gold),#f2ddac 50%,var(--green) 50%);border-radius:50% 0;height:420px}.company-table{max-width:900px}.company-table div{border-top:1px solid var(--line);grid-template-columns:200px 1fr;padding:22px;display:grid}.company-table dt{font-weight:700}.company-table dd{margin:0}.service-list article{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:center;gap:80px;padding:70px 0;display:grid}.service-list article:nth-child(2n) img{order:2}.service-list img{height:430px}.number{color:var(--gold);font:700 1rem DM Sans}.service-list h2{font-size:2.2rem}.service-list h3{line-height:1.7}.service-list p{color:#687578;line-height:2}.promise{background:var(--cream);padding:100px 8vw}.promise>div:last-child,.values{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.promise article,.values article{background:#fff;padding:36px}.steps{max-width:950px}.steps article{border-bottom:1px solid var(--line);grid-template-columns:150px 1fr;gap:40px;padding:35px 0;display:grid}.steps span{color:var(--gold);font:700 .75rem DM Sans}.steps span b{font-size:2rem}.steps h3{margin:0;font-size:1.5rem}.steps p{color:#687578;line-height:1.8}.work-detail{max-width:1000px}.work-detail img{max-height:650px}.work-detail p{margin:45px 0;font-size:1.05rem;line-height:2}.values{margin:50px 0 100px}.values article{background:var(--cream);min-height:190px}.values h3{font-size:1.8rem}.jobs details{border-top:1px solid var(--line);padding:25px}.jobs summary{cursor:pointer;font-size:1.15rem;font-weight:700}.jobs summary span{color:var(--gold);margin-right:30px;font-size:.7rem}.contact-wrap{max-width:850px;margin:auto;padding:100px 25px}.contact-wrap>p{text-align:center;margin-bottom:55px}.contact-wrap form{grid-template-columns:180px 1fr;gap:18px 25px;display:grid}.contact-wrap label{padding-top:14px;font-weight:700}.contact-wrap input,.contact-wrap textarea,.contact-wrap select{border:1px solid var(--line);background:#fafafa;width:100%;padding:14px}.contact-wrap button,.contact-wrap [role=status]{grid-column:2}.not-found{text-align:center;place-content:center;min-height:60vh;display:grid}.loading{place-content:center;height:100vh;display:grid}.cms-login{background:#e9eeee;place-items:center;min-height:100vh;display:grid}.cms-login form{background:#fff;flex-direction:column;gap:12px;width:min(420px,90vw);padding:45px;display:flex;box-shadow:0 20px 60px #17343825}.cms-login input{border:1px solid #ccd3d3;padding:13px}.cms{background:#f3f5f5;grid-template-columns:260px 1fr;min-height:100vh;display:grid}.cms aside{color:#fff;background:#173438;padding:35px}.cms aside button{color:#fff;background:0 0;border:1px solid #fff;margin-top:30px;padding:10px 20px}.cms>section{padding:40px}.cms-head{justify-content:space-between;align-items:center;display:flex}.cms textarea{resize:none;border:1px solid #cad3d3;width:100%;height:calc(100vh - 190px);padding:20px;font:13px/1.6 Consolas,monospace}.ok{color:#24724a}.error{color:#b22}@media (width<=1000px){.header{height:75px}.nav{background:#fff;flex-direction:column;padding:20px;display:none;position:absolute;top:75px;left:0;right:0}.nav.open{display:flex}.nav a{padding:10px}.nav a.active:after{display:none}.menu{margin-left:auto;display:block}.header-contact>a:first-child{display:none}.header-contact .button{padding:12px}.service-grid{grid-template-columns:repeat(2,1fr)}.footer-main{grid-template-columns:1fr 1fr}.service-list article{gap:35px}.cms{grid-template-columns:1fr}.cms aside{justify-content:space-between;padding:15px 25px;display:flex}.cms aside p{display:none}.cms aside button{margin:0}.cms>section{padding:20px}}@media (width<=650px){.header-contact{display:none}.hero{min-height:620px;padding:50px 25px}.section{padding:75px 22px}.service-grid,.works-grid,.promise>div:last-child,.values{grid-template-columns:1fr}.service-card p{min-height:0}.mini-steps{flex-direction:column}.work-card img{height:250px}.contact-band>div{flex-direction:column}.footer-main{grid-template-columns:1fr}.split{grid-template-columns:1fr;gap:30px}.abstract-art{height:280px}.company-table div{grid-template-columns:1fr;gap:8px}.service-list{padding:40px 22px}.service-list article{grid-template-columns:1fr;padding:45px 0}.service-list article:nth-child(2n) img{order:0}.service-list img{height:280px}.steps article{grid-template-columns:75px 1fr;gap:15px}.contact-wrap form{grid-template-columns:1fr}.contact-wrap button,.contact-wrap [role=status]{grid-column:1}.cms-head{align-items:flex-start;gap:15px}.cms-head .button{padding:12px}.cms textarea{height:65vh}}:root{--source-navy:#0e3158;--source-blue:#203f91}.header{background:var(--source-navy);color:#dbeaff;border-bottom:0;height:64px;padding:0 3.2vw;box-shadow:0 4px 10px #00000052}.source-brand{flex-direction:row;align-items:center;gap:9px;width:270px}.source-brand img{object-fit:contain;width:218px;height:auto}.source-brand>span:last-child{flex-direction:column;display:flex}.source-brand b{letter-spacing:.02em;white-space:nowrap;font-family:Noto Sans JP;font-size:1.55rem;font-weight:500}.source-brand small{letter-spacing:.38em;margin-top:5px;font-size:.42rem}.brand-mark{border:3px solid;border-radius:50%;place-content:center;width:35px;height:35px;font-family:serif;font-size:1.25rem;font-weight:700;display:grid}.nav{gap:0}.nav a{padding:21px 10px;font-size:.82rem;font-weight:700}.nav a:not(:last-child):after{content:"◆";color:#9db0c6;font-size:.35rem;position:absolute;top:26px;right:-2px}.nav a.active{color:#fff}.nav a.active:before{content:"›";color:#8da4bd;margin-right:6px}.nav a.active:after{background:0 0;height:auto;bottom:auto;left:auto}.header-contact{border-left:1px solid #a9bbcf;align-items:stretch;gap:18px;height:48px;margin-left:20px;padding-left:20px}.header-contact>a:first-child{text-align:center;color:#fff;justify-content:center;font-family:serif;font-size:1.25rem;line-height:1}.header-contact small{color:#fff;letter-spacing:.13em;margin-bottom:4px;font:500 .58rem DM Sans}.header-inquiry{color:#163559;background:#d8e7f4;place-content:center;padding:0 28px;font-weight:700;display:grid}.contact-band{background:var(--source-blue);color:#fff;text-align:left;justify-content:space-between;align-items:center;gap:40px;padding:46px 6.3vw;display:flex}.contact-copy{flex:0 470px;display:block!important}.contact-copy h2{white-space:nowrap;margin:0 0 8px;font-size:1.7rem}.contact-copy p{color:#bdc9e7;max-width:470px;margin:0}.contact-actions{flex:none;align-items:center;gap:18px;display:flex!important}.contact-actions a{color:#183c84;text-align:center;white-space:nowrap;background:#f5f6f8;border-radius:30px;min-width:170px;padding:14px 20px;font-weight:700}.contact-actions a:last-child{color:#fff;background:#0875ed;border:1px solid #5af}footer{color:#afc7df;background:#10365d;padding:78px 4vw 25px}.footer-main{grid-template-columns:1.15fr .85fr 1.55fr 1.55fr;gap:38px}.footer-company p{max-width:225px;font-size:.85rem;line-height:2}.footer-button{color:#dceaff;text-align:center;background:#365d87;border-radius:6px;width:225px;padding:13px 18px}.footer-sitemap h3,.office h3{color:#e4effa;margin:0 0 20px;font-family:serif;font-size:1.5rem}.footer-sitemap a{font-size:.85rem}.address{margin-bottom:16px;font-size:.95rem}.office-row{align-items:center;flex-direction:row!important;gap:10px!important;display:flex!important}.office-row i{color:#fff;background:#165bb1;border-radius:4px;place-content:center;width:49px;height:49px;font-size:1.25rem;font-style:normal;display:grid}.office-row span{flex-direction:column;display:flex}.office-row b{color:#e4effa;font:500 1.3rem serif}.office-row small{font-size:.67rem}.copyright{letter-spacing:.06em;border-top:1px solid #294d70;margin-top:60px;padding:25px 10px 0;font-size:.65rem}@media (width<=1000px){.header{height:68px}.source-brand{width:auto}.nav{background:var(--source-navy);color:#fff;top:68px}.nav a:after,.nav a.active:before{display:none}.menu{color:#fff}.header-contact{border:0;margin-left:12px;padding-left:0}.header-inquiry{padding:0 16px}.contact-band{text-align:center;flex-direction:column}.contact-copy{flex:auto}.contact-copy h2{white-space:normal}.footer-main{grid-template-columns:1fr 1fr}}@media (width<=650px){.source-brand b{font-size:1.15rem}.brand-mark{width:30px;height:30px}.contact-actions{flex-direction:column;width:100%}.contact-actions a{width:100%}.contact-band>div{display:flex}.footer-main{grid-template-columns:1fr}.source-brand img{width:180px}}.source-hero{background:var(--hero) center center/cover no-repeat;color:#0c263f;isolation:isolate;height:calc(100vh - 64px);min-height:612px;max-height:760px;padding:0 4.4vw;position:relative}.source-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#f0f8fffa 0%,#eff8ffe6 25%,#ecf6ff73 47%,#dbedfa14 70%);position:absolute;inset:0}.source-hero .hero-content{max-width:490px}.source-hero .en{color:#0863df;font-size:.72rem}.source-hero h1{letter-spacing:.04em;color:#071d32;margin:20px 0 28px;font-size:clamp(2.6rem,4.2vw,4rem);line-height:1.15}.source-hero h1 span,.source-hero h1 strong{display:block}.source-hero h1 strong{color:#1648a8}.source-hero p{color:#324d64;max-width:465px;font-size:.84rem;font-weight:600;line-height:1.9}.hero-actions{flex-direction:column;gap:10px;width:225px;margin-top:38px;display:flex}.hero-actions a{color:#fff;background:#1552bc;border-radius:25px;justify-content:center;align-items:center;gap:18px;height:46px;font-size:.85rem;font-weight:700;display:flex;box-shadow:0 4px 12px #1a355844}.hero-actions a:nth-child(2){color:#124797;background:#eef7ff}.hero-actions a:nth-child(3){color:#fff;box-shadow:none;background:#52677b;border-radius:8px}.hero-actions b{font-size:1rem}@media (width<=650px){.source-hero{background-position:62%;height:auto;min-height:650px;padding:70px 24px}.source-hero:before{background:linear-gradient(90deg,#f0f8fffa,#eff8ffc7 70%,#dbedfa52)}.source-hero h1{font-size:2.65rem}.source-hero p{font-size:.8rem}.hero-actions{width:230px}}.source-workflow{color:#e8f2ff;background:#13365d;grid-template-columns:1fr 1fr;min-height:480px;padding:0;display:grid}.workflow-image{background:url(/images/source-workflow.jpg) 50%/cover no-repeat;min-height:480px}.workflow-panel{flex-direction:column;justify-content:center;align-items:flex-start;padding:58px clamp(45px,7vw,105px);display:flex}.workflow-panel .en{color:#51b8ff;font-size:.72rem}.workflow-panel h2{margin:9px 0 20px;font-size:2.05rem}.workflow-panel p{color:#b9cce2;max-width:470px;margin:0 0 21px;font-size:.85rem;line-height:1.85}.workflow-panel ul{margin:0 0 24px;padding:0;list-style:none}.workflow-panel li{margin:15px 0;font-size:.95rem;font-weight:700}.workflow-panel li:before{content:"";vertical-align:-2px;border:5px solid #0879ff;border-radius:50%;width:14px;height:14px;margin-right:16px;display:inline-block}.workflow-panel>a{border-bottom:3px solid #147cff;padding-bottom:6px;font-size:.9rem;font-weight:700}@media (width<=750px){.source-workflow{grid-template-columns:1fr}.workflow-image{min-height:350px}.workflow-panel{padding:55px 28px}.workflow-panel h2{font-size:1.8rem}}.home-services{padding-top:80px;padding-bottom:90px}.home-services .section-title{text-align:center;margin-bottom:56px}.home-services .section-title .en{color:#086cff}.home-services .section-title h2{margin-top:8px;font-size:2.25rem}.home-services .section-title h2:after{content:"";background:#1674ff;width:58px;height:3px;margin:14px auto 0;display:block}.home-services .service-grid{background:0 0;gap:28px}.home-services .service-card{background:#edf5ff;border-radius:14px;flex-direction:column;align-items:flex-start;min-height:240px;padding:25px;display:flex}.home-services .service-thumb{background:#d7e9ff;border-radius:10px;width:44px;height:44px;padding:0;overflow:hidden}.home-services .service-thumb img{object-fit:cover;width:100%;height:100%;transition:all .35s}.home-services .service-card:hover .service-thumb img{transform:scale(1.1)}.home-services .service-card h3{margin:14px 0 8px;font-size:1.12rem}.home-services .service-card p{color:#506275;min-height:0;margin:0 0 20px;font-size:.78rem;line-height:1.7}.home-services .service-card>a{color:#0872f7;border:0;margin-top:auto;font-size:.76rem;font-weight:700}@media (width<=850px){.home-services .service-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=560px){.home-services .service-grid{grid-template-columns:1fr}.home-services .service-card{min-height:220px}}.home-services .service-thumb{width:110px;height:76px}.home-services .service-card h3{margin-top:16px}.home-services .service-card{min-height:350px;padding:0;overflow:hidden}.home-services .service-thumb{background:#d7e9ff;border-radius:0;width:100%;height:190px}.home-services .service-card h3{margin:18px 25px 7px}.home-services .service-card p{margin:0 25px 14px}.home-services .service-card>a{margin:0 25px 16px}@media (width<=560px){.home-services .service-thumb{height:220px}.home-services .service-card{min-height:380px}}.home-works{background:#dcefff;padding-top:85px;padding-bottom:95px}.works-heading{justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:42px;display:flex}.works-heading .section-title{margin:0 0 20px}.works-heading .section-title .en{color:#0872f7}.works-heading .section-title h2{margin:8px 0;font-size:2.35rem}.works-heading p{color:#526a7e;max-width:650px;margin:0;font-size:.86rem;line-height:1.8}.works-heading>a{background:#c8def1;border-radius:28px;flex:none;padding:14px 27px;font-size:.82rem;font-weight:700}.home-works .works-grid{grid-template-columns:repeat(4,1fr);gap:22px}.home-works .work-card{background:#fff;border-radius:12px;padding-bottom:18px;overflow:hidden;box-shadow:0 8px 24px #2e5a821a}.home-works .work-card img{height:185px}.home-works .work-card>span,.home-works .work-card h2,.home-works .work-card p{margin-left:18px;margin-right:18px}.home-works .work-card>span{margin-top:14px}.home-works .work-card h2{margin-top:7px;margin-bottom:8px;font-size:1rem;line-height:1.5}.home-works .work-card p{color:#607589;margin-bottom:0;font-size:.75rem;line-height:1.65}@media (width<=900px){.home-works .works-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=650px){.home-works{padding:65px 16px}.works-heading{flex-direction:column;align-items:flex-start;gap:22px}.works-heading>a{align-self:flex-end}.home-works .works-grid{grid-template-columns:repeat(2,1fr);gap:12px}.home-works .work-card img{height:125px}.home-works .work-card>span,.home-works .work-card h2,.home-works .work-card p{margin-left:12px;margin-right:12px}.home-works .work-card h2{font-size:.85rem}.home-works .work-card p{-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:.68rem;display:-webkit-box;overflow:hidden}}footer{padding:0 4vw 25px}.footer-main{padding-top:78px}.contact-band{z-index:2;margin-left:-4vw;margin-right:-4vw;position:relative;box-shadow:0 -12px 30px #0f274333}@media (width<=650px){.footer-main{padding-top:58px}}.page-hero{text-align:left;background:var(--page-bg) center/cover no-repeat;isolation:isolate;align-items:flex-start;height:345px;min-height:345px;padding:0 8.8vw;position:relative;box-shadow:inset 0 -30px 45px #04162d2e}.page-hero:before{content:"";z-index:-1;background:linear-gradient(90deg,#072348f0 0%,#0c305fd1 38%,#0c2d5785 68%,#071b375c 100%);position:absolute;inset:0}.page-hero>div{max-width:610px}.page-hero .en{color:#62c5ff;font-size:.82rem}.page-hero h1{color:#fff;margin:10px 0 12px;font-size:2.8rem;line-height:1.15}.page-hero p{color:#d6e5f5;text-shadow:0 2px 8px #0000006b;max-width:600px;margin:0;font-size:.95rem;line-height:1.75}@media (width<=650px){.page-hero{background-position:62%;height:300px;min-height:300px;padding:0 25px}.page-hero:before{background:linear-gradient(90deg,#072348f5,#0c305fc2 72%,#071b3780)}.page-hero h1{font-size:2.25rem}.page-hero p{font-size:.82rem}}.about-philosophy{background:#fff;padding:90px max(5vw,50vw - 610px)}.about-philosophy-inner{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);align-items:center;gap:48px;display:grid}.about-philosophy-image img{border-radius:30px;height:445px;box-shadow:0 14px 22px #0000003b}.about-philosophy-copy h2{color:#1648a8;letter-spacing:.06em;margin:0 0 20px;font-size:2rem}.about-philosophy-copy h3{white-space:pre-line;margin:0 0 24px;font-size:1.45rem;line-height:1.45}.about-philosophy-copy p{color:#647183;margin:0;font-size:.9rem;line-height:1.9}.about-philosophy-copy ul{gap:18px;margin:38px 0 0;padding:0;list-style:none;display:grid}.about-philosophy-copy li{background:#f5f5f5;border-radius:6px;align-items:center;gap:12px;padding:12px 16px;font-size:.88rem;font-weight:700;display:flex}.about-philosophy-copy li span{color:#172b3e;text-align:center;width:18px;font-size:1.05rem}.about-company{background:#f2f2f2;padding:55px max(5vw,50vw - 540px) 72px}.about-company>h2{text-align:center;margin:0 0 36px;font-size:1.7rem}.about-company .company-table{background:#fff;border-radius:18px;max-width:none;margin:0;padding:0 10px;overflow:hidden;box-shadow:0 14px 24px #00000026}.about-company .company-table div{border-top:1px solid #ddd;grid-template-columns:125px 1fr;gap:0;padding:24px 18px}.about-company .company-table div:first-child{border-top:0}.about-company .company-table dt{color:#1648a8;font-size:.84rem}.about-company .company-table dd{white-space:pre-line;font-size:.82rem;font-weight:600;line-height:1.55}@media (width<=800px){.about-philosophy{padding:65px 24px}.about-philosophy-inner{grid-template-columns:1fr;gap:40px}.about-philosophy-image img{aspect-ratio:4/3;border-radius:22px;height:auto}.about-philosophy-copy h2{font-size:1.75rem}.about-philosophy-copy h3{font-size:1.25rem}.about-company{padding:48px 18px 60px}.about-company .company-table div{grid-template-columns:110px 1fr;padding:22px 12px}}@media (width<=480px){.about-company .company-table div{grid-template-columns:1fr;gap:8px}.about-philosophy-copy ul{margin-top:28px}}.service-list{padding:55px max(4vw,50vw - 610px) 90px}.service-list article{border:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:42px;padding:42px 0;display:grid}.service-list article:nth-child(2n) .service-list-image{order:2}.service-list-image{border-radius:18px;overflow:hidden}.service-list-image img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.service-list-copy header{align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.service-list-copy .number{color:#e9eaec;letter-spacing:-.04em;flex:none;font:700 3rem/1 DM Sans,sans-serif}.service-list-copy h2{margin:0 0 6px;font-size:1.7rem;line-height:1.25}.service-list-copy small{color:#075cf4;letter-spacing:.11em;font:700 .64rem/1.3 DM Sans,sans-serif;display:block}.service-list-copy>p{color:#43505e;margin:0 0 20px;font-size:.82rem;line-height:1.75}.service-features{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.service-features span,.service-features a{color:#263745;background:#f7f7f7;border:1px solid #e2e2e2;border-radius:8px;align-items:center;min-height:48px;padding:11px 17px;font-size:.78rem;display:flex}.service-features a{color:#fff;background:#5a5f64;border-color:#5a5f64;font-weight:700}@media (width<=760px){.service-list{padding:40px 20px 65px}.service-list article{border-bottom:1px solid #e6e6e6;grid-template-columns:1fr;gap:28px;padding:38px 0}.service-list article:last-child{border-bottom:0}.service-list article:nth-child(2n) .service-list-image{order:0}.service-list-copy header{gap:14px;margin-bottom:18px}.service-list-copy .number{font-size:2.55rem}.service-list-copy h2{font-size:1.42rem}.service-list-copy>p{font-size:.8rem}.service-features{gap:10px}.service-features span,.service-features a{padding:10px 12px;font-size:.72rem}}.steps.section{width:min(1060px,100% - 40px);max-width:none;margin:0 auto;padding:82px 0 100px}.steps article{text-align:left;background:#f6f9fd;border:1px solid #e1eaf3;border-radius:14px;grid-template-columns:125px minmax(0,1fr);align-items:center;gap:34px;margin:0 0 20px;padding:34px 42px;box-shadow:0 8px 24px #14395b0f}.steps article:last-child{margin-bottom:0}.steps span{color:#1674e8;letter-spacing:.09em;text-transform:uppercase;font:700 .7rem/1.3 DM Sans,sans-serif}.steps span b{color:#123d69;letter-spacing:-.04em;margin-top:2px;font-size:2.65rem;display:block}.steps h3{color:#123451;margin:0 0 10px;font-size:1.45rem;line-height:1.4}.steps p{color:#5d7082;margin:0;font-size:.91rem;line-height:1.85}.steps article:hover{border-color:#bdd7ef;box-shadow:0 12px 28px #14395b1a}@media (width<=650px){.steps.section{width:calc(100% - 32px);padding:55px 0 70px}.steps article{grid-template-columns:72px minmax(0,1fr);gap:14px;padding:26px 20px}.steps span b{font-size:2.1rem}.steps h3{font-size:1.17rem}.steps p{font-size:.8rem;line-height:1.75}}.case-section{padding-top:72px}.case-filters{flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 48px;display:flex}.case-filters button{color:#53687b;cursor:pointer;background:#fff;border:1px solid #d9e3ed;border-radius:24px;min-width:112px;padding:11px 20px;font-size:.82rem;font-weight:700;transition:all .2s}.case-filters button:hover{color:#155fae;border-color:#1674e8}.case-filters button.active{color:#fff;background:#123d69;border-color:#123d69;box-shadow:0 5px 14px #123d6933}.case-section .works-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}.case-section .work-card{background:#fff;border:1px solid #e3eaf1;border-radius:13px;padding-bottom:20px;transition:transform .25s,box-shadow .25s;overflow:hidden;box-shadow:0 8px 24px #183e6214}.case-section .work-card:hover{transform:translateY(-4px);box-shadow:0 14px 30px #183e6221}.case-section .work-card img{height:230px}.case-section .work-card>span,.case-section .work-card h2,.case-section .work-card p{margin-left:20px;margin-right:20px}.case-section .work-card>span{color:#1674e8;margin-top:17px;font-size:.72rem;font-weight:700}.case-section .work-card h2{color:#173a59;margin-top:8px;margin-bottom:9px;font-size:1.08rem;line-height:1.55}.case-section .work-card p{color:#637588;margin-bottom:0;font-size:.78rem;line-height:1.7}.case-more{color:#fff;cursor:pointer;background:#123d69;border:0;border-radius:28px;justify-content:center;align-items:center;gap:16px;min-width:210px;margin:55px auto 0;padding:15px 28px;font-weight:700;display:flex;box-shadow:0 7px 18px #123d6938}.case-more span{font-size:1.25rem;font-weight:400}.case-more:hover{background:#17558f}@media (width<=900px){.case-section .works-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.case-section{padding:55px 16px 70px}.case-filters{justify-content:flex-start;gap:8px;margin-bottom:34px}.case-filters button{min-width:0;padding:9px 14px;font-size:.72rem}.case-section .works-grid{grid-template-columns:1fr}.case-section .work-card img{height:240px}.case-more{margin-top:38px}}.contact-band{padding-top:38px;padding-bottom:38px}.contact-copy h2{letter-spacing:.01em;font-size:1.38rem;line-height:1.45}.contact-copy p{color:#c6d4e8;max-width:430px;font-size:.78rem;line-height:1.65}.contact-band>.contact-actions>a:not(.button){letter-spacing:0;min-width:160px;padding:12px 18px;font:700 .96rem/1.35 Noto Sans JP,sans-serif!important}.contact-actions a{font-size:.96rem!important}.contact-band>.contact-actions>a:last-child{font-size:.92rem!important}@media (width<=650px){.contact-band{padding:34px 22px}.contact-copy h2{font-size:1.24rem}.contact-copy p{font-size:.76rem}.contact-band .contact-actions>a{font-size:.9rem}}.recruit-values{background:#fff;padding:82px max(5vw,50vw - 560px) 100px}.recruit-lead{text-align:center}.recruit-lead h2{color:#173a59;margin:0 0 14px;font-size:2rem}.recruit-lead p{color:#657585;margin:0;font-size:.9rem}.recruit-values .values{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:55px 0 0;display:grid}.recruit-values .values article{text-align:center;background:#f8f8f8;border:1px solid #efefef;border-radius:14px;min-height:190px;padding:28px 24px;box-shadow:0 6px 18px #16304817}.value-icon{color:#55bfe9;background:#fff;border-radius:9px;place-items:center;width:44px;height:44px;margin:0 auto 17px;font-size:1.65rem;line-height:1;display:grid;box-shadow:0 5px 9px #16304826}.recruit-values .values h3{color:#1a2732;margin:0 0 10px;font-size:1rem}.recruit-values .values p{color:#697783;margin:0;font-size:.75rem;line-height:1.7}.recruit-jobs{background:#f5f5f5;padding:76px max(5vw,50vw - 560px) 90px}.recruit-section-heading{text-align:center;margin-bottom:38px}.recruit-section-heading h2{color:#22384d;margin:0 0 14px;font-size:1.75rem}.recruit-section-heading p{color:#6a7782;margin:0;font-size:.84rem}.recruit-jobs .jobs{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.recruit-jobs .jobs article{text-align:center;background:#fff;border:1px solid #e6e6e6;border-radius:14px;min-height:160px;padding:26px 34px;box-shadow:0 5px 14px #11283f1f}.recruit-jobs .jobs h3{color:#1b2833;justify-content:center;align-items:center;gap:8px;margin:0 0 12px;font-size:1.18rem;display:flex}.recruit-jobs .jobs h3 span{color:#1674e8;background:#eaf2fb;border-radius:6px;padding:4px 9px;font-size:.62rem}.recruit-jobs .jobs p{color:#77838d;margin:0 0 12px;font-size:.76rem}.recruit-jobs .jobs strong{color:#174594;font-size:.85rem;line-height:1.65}.recruit-welcome{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:50px;padding:88px max(5vw,50vw - 560px);display:grid}.recruit-welcome-image{border-radius:24px;overflow:hidden;box-shadow:0 12px 22px #132d4533}.recruit-welcome-image img{aspect-ratio:4/3;object-fit:cover;width:100%;height:auto}.recruit-welcome-copy h2{color:#273746;margin:0 0 24px;font-size:1.6rem}.recruit-welcome-copy>p{color:#687887;margin:0;font-size:.84rem;line-height:1.9}.recruit-welcome-copy ul{margin:28px 0;padding:0;list-style:none}.recruit-welcome-copy li{color:#202b35;margin:10px 0;font-size:.82rem;font-weight:700}.recruit-welcome-copy li:before{content:"✓";color:#fff;background:#111;place-content:center;width:16px;height:16px;margin-right:8px;font-size:.65rem;display:inline-grid}.recruit-welcome-copy>a{color:#fff;background:#203f91;border-radius:28px;justify-content:center;align-items:center;width:100%;padding:14px 22px;font-size:.86rem;font-weight:700;display:flex;box-shadow:0 6px 14px #203f9140}@media (width<=760px){.recruit-values{padding:60px 20px 70px}.recruit-lead h2{font-size:1.55rem}.recruit-values .values{grid-template-columns:1fr;gap:16px;margin-top:38px}.recruit-values .values article{min-height:165px}.recruit-jobs{padding:58px 20px 70px}.recruit-jobs .jobs{grid-template-columns:1fr}.recruit-jobs .jobs article{padding:24px 20px}.recruit-welcome{grid-template-columns:1fr;gap:36px;padding:65px 20px}.recruit-welcome-copy h2{font-size:1.4rem}.recruit-welcome-copy>a{width:100%}}.recruit-values .values article{text-align:left;background:linear-gradient(145deg,#fff 0%,#f3f8fd 100%);border:1px solid #dce7f1;border-radius:18px;min-height:215px;padding:32px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 12px 28px #12365614}.recruit-values .values article:before{content:"";background:linear-gradient(90deg,#176ed4,#54c6e9);height:4px;position:absolute;top:0;left:0;right:0}.recruit-values .values article:hover{transform:translateY(-5px);box-shadow:0 18px 36px #12365621}.value-number{color:#d9e6f2;letter-spacing:-.04em;font:700 2.15rem/1 DM Sans,sans-serif;position:absolute;top:23px;right:28px}.recruit-values .value-icon{color:#fff;background:linear-gradient(135deg,#153f70,#1a82d8);border-radius:13px;width:46px;height:46px;margin:0 0 25px;font-size:1.5rem;box-shadow:0 8px 18px #1667b238}.recruit-values .values h3{color:#143a5e;letter-spacing:.03em;margin:0 0 12px;font-size:1.25rem}.recruit-values .values p{color:#627487;max-width:245px;font-size:.8rem;line-height:1.75}.recruit-jobs .jobs{gap:26px}.recruit-jobs .jobs article{text-align:left;border:1px solid #dce5ed;border-radius:17px;min-height:225px;padding:30px 32px 28px;transition:transform .25s,box-shadow .25s;position:relative;overflow:hidden;box-shadow:0 12px 28px #12314d17}.recruit-jobs .jobs article:before{content:"";background:linear-gradient(#1674e8,#58c7ea);width:5px;position:absolute;top:0;bottom:0;left:0}.recruit-jobs .jobs article:hover{transform:translateY(-4px);box-shadow:0 18px 36px #12314d24}.job-card-head{justify-content:space-between;align-items:center;margin-bottom:17px;display:flex}.job-type{color:#1268c6;background:#e8f3ff;border-radius:20px;padding:5px 11px;font-size:.66rem;font-weight:700;display:inline-flex}.job-number{color:#dce7f1;font:700 1.7rem/1 DM Sans,sans-serif}.recruit-jobs .jobs h3{color:#143651;margin:0 0 12px;font-size:1.28rem;line-height:1.45;display:block}.recruit-jobs .jobs p{color:#6c7c8a;margin:0 0 22px;font-size:.79rem;line-height:1.7}.job-meta{border-top:1px solid #e6edf3;align-items:center;gap:10px;padding-top:18px;display:flex}.job-meta strong{color:#164a88;font-size:.86rem}.job-meta span{color:#526b80;background:#f1f5f8;border-radius:6px;padding:5px 10px;font-size:.7rem;font-weight:700}@media (width<=760px){.recruit-values .values article{min-height:195px;padding:28px}.recruit-jobs .jobs article{min-height:210px;padding:26px 24px}.job-meta{flex-direction:column;align-items:flex-start;gap:8px}}.recruit-jobs .job-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce5ed;border-radius:17px;width:100%;min-height:245px;padding:30px 32px 26px;transition:transform .25s,box-shadow .25s,border-color .25s;position:relative;overflow:hidden;box-shadow:0 12px 28px #12314d17}.recruit-jobs .job-card:before{content:"";background:linear-gradient(#1674e8,#58c7ea);width:5px;position:absolute;top:0;bottom:0;left:0}.recruit-jobs .job-card:hover{border-color:#bdd8ee;transform:translateY(-4px);box-shadow:0 18px 36px #12314d24}.recruit-jobs .job-card:focus-visible{outline-offset:3px;outline:3px solid #1674e84d}.job-card-link{color:#1674d8;margin-top:17px;font-size:.74rem;font-weight:700;display:block}.job-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07192bad;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.job-modal{background:#fff;border-radius:22px;width:min(740px,100%);max-height:calc(100vh - 48px);padding:40px 44px;animation:.2s ease-out job-modal-in;position:relative;overflow:auto;box-shadow:0 28px 80px #0000004d}.job-modal-close{color:#26435d;cursor:pointer;background:#eef3f7;border:0;border-radius:50%;width:38px;height:38px;font-size:1.55rem;line-height:1;position:absolute;top:18px;right:20px}.job-modal>.job-type{margin-bottom:13px}.job-modal h2{color:#153b5d;margin:13px 50px 12px 0;font-size:1.65rem}.job-modal-lead{color:#657788;margin:0 0 28px;font-size:.87rem}.job-modal dl{margin:0}.job-modal dl>div{border-top:1px solid #e5ebf0;grid-template-columns:125px minmax(0,1fr);gap:20px;padding:17px 0;display:grid}.job-modal dt{color:#185f9f;font-size:.78rem;font-weight:700}.job-modal dd{color:#465b6d;margin:0;font-size:.8rem;line-height:1.75}.job-modal-actions{gap:12px;margin-top:30px;display:flex}.job-modal-actions a,.job-modal-actions button{cursor:pointer;border-radius:24px;justify-content:center;align-items:center;min-height:46px;padding:12px 22px;font-size:.8rem;font-weight:700;display:flex}.job-modal-actions a{color:#fff;background:#203f91;flex:1}.job-modal-actions button{color:#466076;background:#fff;border:1px solid #d3dde6}@keyframes job-modal-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:none}}@media (width<=600px){.recruit-jobs .job-card{min-height:225px;padding:26px 24px 23px}.job-modal-backdrop{align-items:flex-end;padding:12px}.job-modal{border-radius:20px;max-height:calc(100vh - 24px);padding:32px 24px 24px}.job-modal h2{font-size:1.35rem}.job-modal dl>div{grid-template-columns:1fr;gap:7px;padding:14px 0}.job-modal-actions{flex-direction:column}.job-modal-actions button{order:2}}.case-section button.work-card{text-align:left;width:100%;color:inherit;cursor:pointer;padding:0 0 20px}.case-section button.work-card:focus-visible{outline-offset:3px;outline:3px solid #1674e84d}.work-modal-backdrop{z-index:100;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#07192bb3;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.work-modal{background:#fff;border-radius:22px;width:min(860px,100%);max-height:calc(100vh - 48px);animation:.2s ease-out job-modal-in;position:relative;overflow:auto;box-shadow:0 28px 80px #00000052}.work-modal-close{z-index:2;color:#26435d;cursor:pointer;background:#fffffff0;border:0;border-radius:50%;width:40px;height:40px;font-size:1.55rem;line-height:1;position:absolute;top:18px;right:20px;box-shadow:0 4px 12px #00000029}.work-modal-image{object-fit:cover;width:100%;height:330px}.work-modal-content{padding:34px 42px 40px}.work-modal-content>span{color:#1674e8;font-size:.72rem;font-weight:700}.work-modal-content h2{color:#143a5b;margin:8px 0 10px;font-size:1.7rem}.work-modal-excerpt{color:#697b8b;margin:0 0 25px;font-size:.86rem}.work-modal-body{background:#f5f8fb;border-radius:12px;padding:20px 22px}.work-modal-body h3{color:#194c79;margin:0 0 8px;font-size:.9rem}.work-modal-body p{color:#53697c;margin:0;font-size:.82rem;line-height:1.8}.work-modal dl{margin:25px 0 0}.work-modal dl>div{border-top:1px solid #e4ebf1;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:14px 0;display:grid}.work-modal dt{color:#185f9f;font-size:.76rem;font-weight:700}.work-modal dd{color:#4d6274;margin:0;font-size:.8rem}.work-modal-actions{gap:12px;margin-top:28px;display:flex}.work-modal-actions a,.work-modal-actions button{cursor:pointer;border-radius:24px;justify-content:center;align-items:center;min-height:46px;padding:12px 22px;font-size:.8rem;font-weight:700;display:flex}.work-modal-actions a{color:#fff;background:#203f91;flex:1}.work-modal-actions button{color:#466076;background:#fff;border:1px solid #d3dde6}@media (width<=600px){.work-modal-backdrop{align-items:flex-end;padding:12px}.work-modal{border-radius:20px;max-height:calc(100vh - 24px)}.work-modal-image{height:220px}.work-modal-content{padding:27px 22px 24px}.work-modal-content h2{font-size:1.35rem}.work-modal dl>div{grid-template-columns:1fr;gap:6px}.work-modal-actions{flex-direction:column}.work-modal-actions button{order:2}}
