:root{--c-crimson:#2b7cc9;--c-crimson-dark:#1f5f9e;--c-crimson-light:rgba(43,124,201,.08);--c-ink:#5aa0eb;--c-charcoal:#1a1a24;--c-graphite:#2d2d3a;--c-steel:#5c7899;--c-silver:#8ba3bd;--c-mist:#b3c5d7;--c-cloud:#dce5ee;--c-snow:#f0f4f8;--c-white:#fff;--ff-display:"Cormorant Garamond",serif;--ff-heading:"Inter",sans-serif;--ff-body:"Noto Sans JP","Inter",sans-serif;--ease-out-expo:cubic-bezier(0.16,1,0.3,1);--ease-out-quart:cubic-bezier(0.25,1,0.5,1);--max-w:1440px}*,:after,:before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--ff-body);color:var(--c-charcoal);background:var(--c-white);line-height:1.8;overflow-x:hidden}a{text-decoration:none;color:inherit}ul{list-style:none}img{display:block;max-width:100%}.container{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 60px}.section{padding:160px 0;position:relative;overflow:hidden}.section-dark{background:var(--c-ink);color:var(--c-white)}.section-gray{background:var(--c-snow)}.section-label{font-family:var(--ff-heading);font-size:11px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:var(--c-crimson);display:flex;align-items:center;gap:16px;margin-bottom:16px}.section-label:before{content:"";width:40px;height:1px;background:var(--c-crimson)}.section-title{font-family:var(--ff-body);font-size:clamp(32px,4vw,52px);font-weight:900;line-height:1.3;letter-spacing:-.02em;margin-bottom:24px;color:var(--c-charcoal)}.section-desc{font-size:15px;color:var(--c-steel);line-height:2;max-width:560px}.page-hero{position:relative;min-height:70vh;display:flex;align-items:center;padding:180px 0 100px;background:linear-gradient(135deg,#002b5e,#00458f 40%,#06c);color:var(--c-white);overflow:hidden}.page-hero:before{background:radial-gradient(ellipse at 30% 50%,rgba(0,75,177,.15) 0,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(0,120,212,.1) 0,transparent 50%)}.page-hero:after,.page-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:0}.page-hero:after{background-image:linear-gradient(hsla(0,0%,100%,.03) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.03) 1px,transparent 0);background-size:80px 80px}.page-hero-blocks{position:absolute;bottom:0;left:0;width:100%;height:60px;z-index:3;pointer-events:none}.page-hero-block{position:absolute;bottom:0;height:100%;animation:slideBlockIn 1.2s cubic-bezier(.16,1,.3,1) forwards;opacity:0;transform:translateX(-100%)}.page-hero-block:first-child{left:0;width:25%;background:#004bb1;animation-delay:.5s}.page-hero-block:nth-child(2){left:20%;width:35%;height:40px;background:#06c;animation-delay:.7s}.page-hero-block:nth-child(3){left:50%;width:20%;height:50px;background:#0078d4;animation-delay:.9s}.page-hero-block:nth-child(4){right:0;left:auto;width:35%;background:#2b7cc9;animation-delay:1.1s}@keyframes slideBlockIn{0%{opacity:0;transform:translateX(-100%)}to{opacity:1;transform:translateX(0)}}.page-hero-label{font-family:var(--ff-heading);font-size:11px;font-weight:700;letter-spacing:.4em;text-transform:uppercase;color:hsla(0,0%,100%,.6);display:flex;align-items:center;gap:16px;margin-bottom:24px}.page-hero-label:before{content:"";width:40px;height:1px;background:hsla(0,0%,100%,.4)}.page-hero-en{font-family:var(--ff-heading);font-size:clamp(48px,6vw,80px);font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--c-white);margin-bottom:16px}.page-hero h1{font-family:var(--ff-body);font-size:clamp(25px,2.8vw,33px);font-weight:700;line-height:1.4;letter-spacing:.1em;margin-bottom:20px;color:#fff}.page-hero-desc{font-size:17px;color:#fff;line-height:2;max-width:900px}.btn-primary{display:inline-flex;align-items:center;gap:14px;padding:18px 44px;background:var(--c-crimson);color:var(--c-white);font-size:13px;font-weight:700;letter-spacing:.06em;border-radius:4px;border:none;cursor:pointer;transition:all .5s var(--ease-out-expo);position:relative;overflow:hidden}.btn-primary:hover{background:var(--c-crimson-dark);transform:translateY(-2px);box-shadow:0 12px 40px rgba(43,124,201,.3)}.btn-outline{display:inline-flex;align-items:center;gap:14px;padding:18px 44px;border:1px solid var(--c-cloud);color:var(--c-charcoal);font-size:13px;font-weight:700;letter-spacing:.06em;border-radius:4px;background:transparent;cursor:pointer;transition:all .4s ease}.btn-outline:hover{border-color:var(--c-crimson);color:var(--c-crimson)}.btn-white{display:inline-flex;align-items:center;gap:14px;padding:18px 44px;background:var(--c-white);color:var(--c-ink);font-size:13px;font-weight:700;letter-spacing:.06em;border-radius:4px;border:none;cursor:pointer;transition:all .4s ease}.btn-white:hover{background:var(--c-snow);transform:translateY(-2px);box-shadow:0 12px 40px rgba(0,0,0,.1)}.info-card{background:var(--c-white);border:1px solid var(--c-cloud);padding:40px;transition:all .5s var(--ease-out-expo);position:relative;overflow:hidden}.info-card:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:3px;background:var(--c-crimson);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease-out-expo)}.info-card:hover{transform:translateY(-4px);box-shadow:0 20px 60px rgba(0,0,0,.06)}.info-card:hover:after{transform:scaleX(1)}.form-label{display:block;font-size:13px;font-weight:700;color:var(--c-charcoal);margin-bottom:8px}.form-required{color:var(--c-crimson);font-size:11px;margin-left:4px}.form-input,.form-textarea{width:100%;padding:16px 20px;font-family:var(--ff-body);font-size:14px;color:var(--c-charcoal);background:var(--c-snow);border:1px solid var(--c-cloud);border-radius:4px;outline:none;transition:all .3s ease}.form-input:focus,.form-textarea:focus{border-color:var(--c-crimson);background:var(--c-white);box-shadow:0 0 0 3px var(--c-crimson-light)}.form-textarea{resize:vertical;min-height:160px}.data-table{width:100%;border-collapse:collapse}.data-table tr{border-bottom:1px solid var(--c-cloud)}.data-table th{width:180px;padding:24px 24px 24px 0;font-size:14px;font-weight:700;color:var(--c-charcoal);text-align:left;vertical-align:top}.data-table td{padding:24px 0;font-size:14px;color:var(--c-steel);line-height:1.9}.timeline{position:relative;max-width:700px;margin:0 auto}.timeline:before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--c-cloud)}.timeline-item{position:relative;padding-left:50px;padding-bottom:48px}.timeline-item:before{content:"";position:absolute;left:-4px;top:8px;width:9px;height:9px;border-radius:50%;background:var(--c-crimson)}.timeline-year{font-family:var(--ff-heading);font-size:13px;font-weight:800;color:var(--c-crimson);letter-spacing:.05em;margin-bottom:6px}.timeline-title{font-size:16px;font-weight:700;color:var(--c-charcoal);margin-bottom:4px}.timeline-desc{font-size:13px;color:var(--c-silver);line-height:1.8}@media (max-width:1024px){.container{padding:0 30px}.section{padding:100px 0}.page-hero{min-height:60vh;padding-bottom:80px}}@media (max-width:640px){.container{padding:0 20px}.section{padding:80px 0}.page-hero{min-height:50vh;padding-bottom:60px}.page-hero-en{font-size:36px!important}}.bg-lines-animation{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;overflow:hidden}.bg-lines-animation:after,.bg-lines-animation:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;pointer-events:none}.bg-lines-animation:before{background-image:linear-gradient(hsla(0,0%,100%,.06) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.06) 1px,transparent 0);background-size:80px 80px;transform:rotate(30deg);animation:moveLines1 10s linear infinite}.bg-lines-animation:after{background-image:linear-gradient(hsla(0,0%,100%,.04) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.04) 1px,transparent 0);background-size:120px 120px;transform:rotate(-15deg);animation:moveLines2 16s linear infinite}@keyframes moveLines1{0%{background-position:0 0}to{background-position:80px 80px}}@keyframes moveLines2{0%{background-position:0 0}to{background-position:-120px -120px}}.hero-noise-overlay{position:absolute;inset:0;z-index:3;pointer-events:none;opacity:.35;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.5'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px 200px}.hero-cotton-particle{position:absolute;border-radius:50%;background:hsla(0,0%,100%,.35);pointer-events:none;z-index:2;filter:blur(1px)}.hero-cotton-particle.p1{width:12px;height:12px;top:20%;left:15%;animation:cottonFloat1 14s ease-in-out infinite}.hero-cotton-particle.p2{width:8px;height:8px;top:60%;left:40%;animation:cottonFloat2 18s ease-in-out 2s infinite}.hero-cotton-particle.p3{width:16px;height:16px;top:35%;left:65%;opacity:.25;animation:cottonFloat3 20s ease-in-out 1s infinite}.hero-cotton-particle.p4{width:6px;height:6px;top:75%;left:25%;animation:cottonFloat1 16s ease-in-out 3s infinite}.hero-cotton-particle.p5{width:10px;height:10px;top:45%;left:80%;opacity:.3;animation:cottonFloat2 22s ease-in-out 4s infinite}@keyframes cottonFloat1{0%,to{transform:translate(0) scale(1);opacity:.35}25%{transform:translate(30px,-40px) scale(1.1);opacity:.5}50%{transform:translate(-20px,-70px) scale(.9);opacity:.25}75%{transform:translate(15px,-30px) scale(1.05);opacity:.4}}@keyframes cottonFloat2{0%,to{transform:translate(0) scale(1);opacity:.3}33%{transform:translate(-25px,-50px) scale(1.15);opacity:.45}66%{transform:translate(20px,-80px) scale(.85);opacity:.2}}@keyframes cottonFloat3{0%,to{transform:translate(0) rotate(0deg);opacity:.25}50%{transform:translate(-40px,-60px) rotate(180deg);opacity:.4}}.hero-btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 32px rgba(59,130,200,.4)!important;filter:brightness(1.1)}.hero-btn-outline:hover{background:#3b82c8!important;color:#fff!important;transform:translateY(-3px)}.hero-marquee-track{animation:marqueeScroll 40s linear infinite}.hero-marquee-track:hover{animation-play-state:paused}@keyframes marqueeScroll{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media (max-width:768px){.hero-collage-wrapper{display:none!important}}@media (max-width:767px){body,html{overflow-x:hidden!important;width:100%!important}.container{padding:0 20px!important}.section{padding:60px 0!important}.page-hero{min-height:auto!important;padding:130px 0 100px!important}.page-hero .container{padding:0 24px!important}.page-hero h1{font-size:28px!important;line-height:1.3!important}.page-hero-desc{font-size:14px!important;line-height:1.8!important;margin-top:16px}.page-hero-desc br{display:none!important}a,address,h1,h2,h3,h4,label,li,p,span,strong,td,th{word-break:break-all!important;overflow-wrap:break-word!important}div[style*="padding: 0 60px"],div[style*="padding: 0px 60px"],div[style*="padding:0 60px"],div[style*="padding:0px 60px"],main section>div{padding-left:20px!important;padding-right:20px!important}.page-hero-desc,p[style*="font-size: 18"],p[style*="font-size: 19"],span[style*="font-size: 18"],span[style*="font-size: 19"]{font-size:15px!important;line-height:1.8!important}.company-title-container h2,h2[style*="font-size: 48"]{font-size:28px!important;margin-bottom:24px!important}.expertise-header{flex-direction:column!important;align-items:center!important;margin-bottom:40px!important;gap:16px!important}.expertise-header,.expertise-header>div{text-align:center!important;width:100%!important}.expertise-header .section-title{text-align:center!important}.expertise-header .section-desc{text-align:center!important;transform:none!important;max-width:100%!important;margin:16px auto 0!important;padding:0!important;line-height:1.8!important}.expertise-header .section-desc br{display:none!important}.expertise-cards-grid{grid-template-columns:1fr!important;gap:20px!important}.expertise-card-react a{padding:40px 20px!important}.card-desc-el{margin-bottom:20px!important;line-height:1.6!important}.about-greeting-grid{grid-template-columns:1fr!important;gap:32px!important}.about-greeting-grid>div:first-child{height:300px!important}.philosophy-grid{grid-template-columns:1fr!important;gap:40px!important}.philosophy-visual{height:320px!important}.philosophy-visual img{height:100%!important}.philosophy-badge{width:220px!important;height:220px!important;padding:12px!important;min-width:220px!important;bottom:-15px!important;right:-15px!important}.philosophy-badge-number{font-size:38px!important}.philosophy-badge-text{font-size:16px!important;margin-top:12px!important}.support-split-layout{grid-template-columns:1fr!important;gap:40px!important}.flow-container-premium{grid-template-columns:1fr!important;gap:32px!important}.flow-connect-line{display:none!important}.cta-grid-layout{grid-template-columns:1fr!important;gap:40px!important}.recruiting-container{padding:0 20px!important}.recruiting-card-body{padding:40px 20px!important}.job-details-row{flex-direction:column!important;gap:12px!important;padding:24px 0!important}.job-details-label{width:100%!important;font-size:18px!important}.job-details-value{font-size:16px!important}.recruiting-contact-card{padding:40px 20px!important;margin-top:40px!important}.recruiting-contact-row{flex-direction:column!important;gap:12px!important}.recruiting-contact-label{width:100%!important;font-size:18px!important}.recruiting-contact-value{font-size:16px!important}.company-profile-table,.company-profile-table tbody,.company-profile-table td,.company-profile-table th,.company-profile-table tr{display:block!important;width:100%!important;box-sizing:border-box!important}.company-profile-table tr{border-bottom:1px solid #e8e8ee!important}.company-profile-table th{border-right:none!important;border-bottom:1px solid #e8e8ee!important;background:#fafafb!important}.company-profile-table td,.company-profile-table th{padding:20px!important;font-size:16px!important}.contact-layout{gap:40px!important}.contact-layout>div>div{padding:24px!important}.form-grid-2col{grid-template-columns:1fr!important;gap:16px!important}.footer-fax,.footer-tel{font-size:12px!important}.sp-intro-body{font-size:18px!important}.sp-intro-body br{display:none!important}}