:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-color:#050505;--text-color:#f2f3f5;--text-muted:#aeb4bd;--accent-color:#c4e1ff;--surface-color:#0c0e11;--border-color:#2b2e33;--font-primary:Inter, Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--page-width:1400px;--gutter:clamp(1.5rem, 5.5vw, 6.5rem);--transition:.22s ease}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:6rem}body{background:var(--bg-color);color:var(--text-color);font-family:var(--font-primary);-webkit-font-smoothing:antialiased;line-height:1.75}::selection{color:#050505;background:#c4e1ff}a{color:inherit;transition:color var(--transition), background var(--transition), border-color var(--transition);text-decoration:none}button,input,textarea{font:inherit}button{cursor:pointer}ul{list-style:none}img{max-width:100%;display:block}h1,h2,h3{letter-spacing:-.04em;font-weight:500;line-height:1.12}:is(a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible){outline:2px solid var(--accent-color);outline-offset:5px}section[id]{scroll-margin-top:6rem}.skip-link{z-index:2000;color:#050505;background:#f2f3f5;padding:.75rem 1.25rem;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.header-container,.section-container,.footer-container{width:100%;max-width:var(--page-width);padding-inline:var(--gutter);margin-inline:auto}.header{z-index:100;transition:padding var(--transition), background var(--transition), border-color var(--transition);border-bottom:1px solid #0000;padding-block:1.65rem;position:fixed;inset:0 0 auto}.header.scrolled{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050505f0;border-color:#ffffff1a;padding-block:1rem}.header-container{justify-content:space-between;align-items:center;gap:2rem;display:flex}.logo-link{align-items:center;min-height:44px;display:inline-flex}.logo-text{letter-spacing:-.065em;color:#ededee;font-size:2.2rem;font-style:italic;font-weight:800;line-height:1;display:inline-block}.nav-list{align-items:center;gap:clamp(1.5rem,2.8vw,3rem);display:flex}.nav-link{color:#c2c5cb;letter-spacing:.01em;align-items:center;min-height:44px;font-size:.875rem;font-weight:500;display:inline-flex}.nav-link:hover{color:#fff}.btn-contact{color:#fff;border:1px solid #62666e;gap:1.6rem;padding:.55rem 1.3rem}.btn-contact:after,.btn:after{content:"";width:.45rem;height:.45rem;transition:transform var(--transition);border-top:1px solid;border-right:1px solid;flex-shrink:0;transform:rotate(45deg)}.btn-contact:hover{color:#050505;background:#f2f3f5;border-color:#f2f3f5}.nav-toggle{color:#f2f3f5;background:0 0;border:1px solid #62666e;min-height:44px;padding:.5rem 1rem;font-size:.875rem;display:none}.hero{isolation:isolate;min-height:min(940px,100svh);align-items:center;min-height:max(740px,min(940px,100svh));padding-block:10rem 9rem;display:flex;position:relative;overflow:hidden}.hero-art{z-index:-3;object-fit:cover;object-position:70% center;width:100%;max-width:none;height:100%;position:absolute;inset:0}.hero:before{content:"";z-index:-2;pointer-events:none;background:linear-gradient(90deg,#050505 0%,#050505eb 23%,#0505058f 53%,#0000 83%);position:absolute;inset:0}.hero:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(#0505054d 0%,#0000 22% 78%,#050505 100%);position:absolute;inset:0}.hero-content{width:100%;max-width:var(--page-width);padding-inline:var(--gutter);margin-inline:auto}.hero-title{letter-spacing:-.06em;margin-bottom:2.5rem;font-size:clamp(3.25rem,6.55vw,6.4rem);font-weight:500;line-height:1.06}.hero-title-line{display:block}.hero-title-line+.hero-title-line{margin-top:.05em}.highlight{color:#c7ccd4}.hero-subtitle{color:#c0c5cd;letter-spacing:.015em;max-width:43rem;margin-bottom:2.8rem;font-size:1.0625rem;line-height:2.1}.hero-actions{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.btn{letter-spacing:.025em;border:1px solid #0000;border-radius:0;justify-content:space-between;align-items:center;gap:2.5rem;min-height:56px;padding:1rem 1.65rem;font-size:.875rem;font-weight:600;display:inline-flex}.btn-primary{color:#090b0d;background:#eef0f3;border-color:#eef0f3}.btn-primary:hover{background:#c4e1ff;border-color:#c4e1ff}.btn-secondary{color:#eef0f3;background:0 0;border-color:#636a75}.btn-secondary:hover{background:#ffffff0d;border-color:#eef0f3}.btn:hover:after,.btn-contact:hover:after{transform:translate(3px)rotate(45deg)}.hero-horizon{bottom:3.5rem;left:var(--gutter);right:var(--gutter);background:#ffffff2e;height:1px;position:absolute}.hero-horizon:before{content:"";background:#c4e1ff;width:5rem;height:1px;position:absolute;top:0;left:0;box-shadow:0 0 12px #a1d0ff73}.section{padding-block:clamp(5rem,8vw,8rem)}.section-title{font-size:clamp(2.5rem,4.2vw,4.5rem);font-weight:400}.about .section-container,.company .section-container{grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:4rem;display:grid}.about{padding-top:4rem}.about .section-title{font-size:clamp(2rem,3.1vw,3rem)}.about-grid{min-width:0}.about-text p{color:var(--text-muted);font-size:1.0625rem;line-height:2.25}.about-text p:first-child{color:#dee1e6;font-size:clamp(1.125rem,1.5vw,1.375rem);line-height:2.05}.about-text p+p{margin-top:2.4rem}.about-text br{display:none}.about-emphasis{color:#f4f6fa}.services{border-top:1px solid var(--border-color)}.services .section-title{margin-bottom:3.5rem}.services-grid{border-top:1px solid #444a53}.service-card{border-bottom:1px solid var(--border-color);grid-template-rows:auto auto 1fr;grid-template-columns:5rem minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:1.25rem clamp(1.5rem,3.5vw,4rem);padding-block:3.3rem;display:grid}.service-icon{font-variant-numeric:tabular-nums;letter-spacing:-.08em;color:#a7afba;grid-area:1/1/span 2;font-size:4.5rem;font-weight:300;line-height:.95}.service-name{grid-area:1/2;max-width:24rem;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.3}.service-desc{color:var(--text-muted);grid-area:2/2;font-size:1rem;line-height:2}.service-visual{aspect-ratio:3/2;background:#151e29;grid-area:1/3/span 3;align-self:center;width:100%;overflow:hidden}.service-visual img{object-fit:cover;width:100%;height:100%}.service-related{border-top:1px solid #3c424c;grid-area:3/2;grid-template-columns:1fr auto;gap:.25rem 1rem;margin-top:.3rem;padding-top:1.5rem;display:grid}.service-related-label{color:#b4bcc7;letter-spacing:.12em;text-transform:uppercase;grid-column:1/-1;font-size:.75rem}.service-related-name{color:#edf0f4;letter-spacing:.04em;font-size:1rem;font-weight:600}.service-related-status{color:#b9c8da;align-self:center;font-size:.875rem}.service-related:hover{border-color:var(--accent-color)}.service-related:hover .service-related-status{color:#fff}.company{background:#0b0d10;border-block:1px solid #242930}.company .section-title{font-size:clamp(2rem,3.1vw,3rem)}.company-box{min-width:0}.company-list{grid-template-columns:10rem minmax(0,1fr);display:grid}.company-list dt,.company-list dd{border-bottom:1px solid #2e333b;padding-block:1.3rem}.company-list dt{color:#aeb6c3;padding-right:1.5rem;font-size:.875rem}.company-list dd{overflow-wrap:anywhere;color:#e4e7ec;font-size:1rem}.company-list dt:first-of-type,.company-list dd:first-of-type{padding-top:0}.company-list dt:last-of-type,.company-list dd:last-of-type{border-bottom:0;padding-bottom:0}.text-small{color:#aeb6c3;margin-top:.35rem;font-size:.875rem;display:inline-block}.text-link,.contact-email{text-underline-offset:.25em;text-decoration:underline}.text-link:hover{color:#c4e1ff}.contact{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#12161d;--accent-color:#245687;background:#dde1e8 linear-gradient(118deg,#f0f2f5 0%,#dde2e9 50%,#bfc7d2 100%);padding-block:clamp(5rem,8vw,8rem)}.contact-box{grid-template-rows:auto 1fr;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:2rem clamp(3rem,6vw,6.5rem);display:grid}.contact-box .section-title{letter-spacing:-.06em;grid-area:1/1;max-width:8ch;font-size:clamp(3.25rem,5.8vw,5.8rem);line-height:1.04}.contact-text{color:#414852;grid-area:2/1;max-width:28rem;font-size:1rem;line-height:2.1}.contact-text br{display:none}.contact-form{flex-direction:column;grid-area:1/2/span 2;gap:1.35rem;min-width:0;display:flex}.form-group{flex-direction:column;gap:.6rem;display:flex}.form-label{color:#1f2630;align-items:center;gap:.65rem;font-size:.875rem;font-weight:500;display:flex}.badge-required{color:#454f5c;border:1px solid #8e98a6;padding:.05rem .4rem;font-size:.75rem;line-height:1.6;display:inline-block}.form-input,.form-textarea{color:#12161d;width:100%;min-width:0;transition:background var(--transition), border-color var(--transition);background:#fff6;border:1px solid #909aa8;border-radius:0;padding:.9rem 1rem;font-size:1rem;line-height:1.6}.form-input{min-height:54px}.form-textarea{resize:vertical;min-height:150px}.form-input::placeholder,.form-textarea::placeholder{color:#626b78;opacity:1}.form-input:focus,.form-textarea:focus{background:#f5f7fa;border-color:#245687}.contact .btn-primary{color:#f6f7fa;background:#11151b;border-color:#11151b}.contact .btn-primary:hover{background:#283c52;border-color:#283c52}.btn-submit{gap:1rem;width:100%;min-height:60px;margin-top:.4rem;font-size:1rem}.form-note{color:#424b58;overflow-wrap:anywhere;font-size:.875rem;line-height:1.9}.contact-email{color:#172533;white-space:nowrap}.contact-email:hover{color:#194d83}.footer{background:#050505;padding-block:3rem}.footer-container{flex-wrap:wrap;align-items:center;gap:1.75rem 3rem;display:flex}.footer-logo{margin-right:auto}.footer-logo .logo-text{font-size:1.75rem}.footer-links{color:#aeb4bd;align-items:center;gap:1.8rem;font-size:.875rem;display:flex}.footer-links a{align-items:center;min-height:44px;display:inline-flex}.footer-links a:hover{color:#fff}.copyright{color:#929ba8;letter-spacing:.015em;width:100%;font-size:.75rem}@media (prefers-reduced-motion:no-preference){.hero-art{animation:1.2s ease-out both artwork-arrive}.hero-content{animation:.8s ease-out both content-arrive}}@keyframes artwork-arrive{0%{opacity:.65;transform:scale(1.025)}to{opacity:1;transform:scale(1)}}@keyframes content-arrive{0%{opacity:.8;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1600px){.hero-horizon{left:calc((100vw - var(--page-width)) / 2 + var(--gutter));right:calc((100vw - var(--page-width)) / 2 + var(--gutter))}}@media (max-width:1024px){.header{padding-block:1.2rem}.nav-list{gap:1.3rem}.hero{min-height:760px;padding-block:10rem 8rem}.hero-title{font-size:clamp(3.5rem,6.6vw,4.75rem)}.hero-subtitle{max-width:36rem}.about .section-container,.company .section-container{grid-template-columns:1fr;gap:2.5rem}.about-grid,.company-box{max-width:50rem}.service-card{grid-template-columns:3.5rem minmax(0,1.2fr) minmax(0,.9fr);gap:1.25rem}.service-icon{font-size:3.25rem}.service-related{grid-template-columns:1fr;gap:.5rem}.contact-box{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:2rem 3rem}.contact-box .section-title{font-size:3.8rem}}@media (max-width:768px){:root{--gutter:1.5rem}html{scroll-padding-top:5.5rem}section[id]{scroll-margin-top:5.5rem}.header,.header.scrolled{background:#050505f2;border-color:#ffffff1f;padding-block:.75rem}.header-container{gap:1rem}.logo-text{font-size:1.95rem}.nav-toggle{align-items:center;display:inline-flex}.nav{top:calc(100% + 1px);left:var(--gutter);right:var(--gutter);background:#0c0e12;border:1px solid #3f4650;max-height:calc(100svh - 6rem);padding:.75rem;position:absolute;overflow-y:auto}.nav:not(.is-open){display:none}.nav-list{flex-direction:column;align-items:stretch;gap:.25rem}.nav-link{min-height:48px;padding:.7rem .9rem;font-size:1rem;display:flex}.btn-contact{justify-content:space-between;margin-top:.25rem}.hero{min-height:820px;align-items:flex-start;min-height:max(820px,100svh);padding-block:10rem 7rem}.hero-title{letter-spacing:-.06em;max-width:11ch;margin-bottom:2rem;font-size:clamp(2.7rem,9.1vw,4.8rem);line-height:1.11}.hero-title-line+.hero-title-line{margin-top:.18em}.hero-art{object-position:75% center;opacity:.78}.hero:before{background:linear-gradient(90deg,#050505f0,#05050599 58%,#05050526)}.hero:after{background:linear-gradient(#050505 0%,#0000 35%,#0505058c 75%,#050505 100%)}.hero-subtitle{max-width:31rem;margin-bottom:2rem;font-size:1rem;line-height:2}.hero-subtitle br{display:none}.hero-actions{gap:.75rem}.hero-actions .btn{gap:1.25rem;min-height:54px;padding:.9rem 1.1rem;font-size:.875rem}.hero-horizon{bottom:3rem}.section{padding-block:4.5rem}.about{padding-top:2rem}.section-title,.about .section-title,.company .section-title{font-size:2.5rem}.about .section-container,.company .section-container{gap:2.5rem}.about-text p{font-size:1rem;line-height:2.1}.about-text p:first-child{font-size:1.125rem;line-height:2}.services .section-title{margin-bottom:2.5rem}.service-card{grid-template-rows:auto;grid-template-columns:3rem minmax(0,1fr);gap:1.5rem;padding-block:2.25rem}.service-icon{grid-row:1;font-size:2.8rem}.service-name{grid-column:2;max-width:20rem;font-size:1.5rem}.service-visual{grid-area:2/1/auto/-1}.service-desc{grid-area:3/1/auto/-1;font-size:1rem;line-height:1.95}.service-related{grid-area:4/1/auto/-1;grid-template-columns:1fr;gap:.5rem;margin-top:0;padding-top:1.25rem}.service-related-status{margin-top:.25rem}.company-list{grid-template-columns:1fr}.company-list dt{border:0;padding:1.3rem 0 .4rem;font-size:.875rem}.company-list dd{padding:0 0 1.3rem}.company-list dt:last-of-type{padding-bottom:.4rem}.contact-box{grid-template-rows:auto auto auto;grid-template-columns:1fr;gap:1.5rem}.contact-box .section-title{grid-area:1/1;max-width:10ch;font-size:clamp(3.5rem,12vw,5rem)}.contact-text{grid-area:2/1;max-width:35rem}.contact-form{grid-area:3/1;gap:1.25rem;margin-top:1.5rem}.footer{padding-block:2.5rem}.footer-container{align-items:flex-start;gap:1.25rem}.footer-logo{width:100%}.footer-links{flex-wrap:wrap;gap:.5rem 1.5rem}.copyright{margin-top:.5rem}}@media (max-width:360px){:root{--gutter:1.25rem}.hero-title{font-size:2.65rem}.hero-actions{flex-direction:column;align-items:stretch;max-width:18rem}.hero{min-height:910px}.service-card{column-gap:1rem}.service-name{font-size:1.3rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}@media (forced-colors:active){.hero-art,.hero-horizon,.hero:before,.hero:after{display:none}.btn,.btn-contact,.form-input,.form-textarea{border:1px solid buttontext}}
