:root{--background:#1f2833;--panel:#283542;--panel-deep:#19222c;--text:#fdf8f0;--muted:rgba(253,248,240,0.72);--dim:rgba(253,248,240,0.52);--line:rgba(253,248,240,0.36);--line-soft:rgba(253,248,240,0.14);--accent:#b76554;--warm:#f6efe4}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:var(--background);font-family:Arial,Hiragino Sans,Yu Gothic,Meiryo,sans-serif;letter-spacing:0}button,input,textarea{font:inherit}a{color:inherit;text-decoration:none}main{min-height:100vh;overflow:hidden;background:radial-gradient(circle at 18% 12%,rgba(183,101,84,.18),transparent 24rem),radial-gradient(circle at 88% 2%,rgba(246,239,228,.08),transparent 22rem),var(--background)}.site-header{position:fixed;z-index:30;top:0;left:0;display:grid;width:100%;min-height:112px;grid-template-columns:1fr auto auto;align-items:center;gap:40px;padding:0 clamp(32px,5vw,72px);background:rgba(31,40,51,.88);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.brand{display:inline-flex;width:max-content;align-items:center;color:var(--text)}.brand span{font-size:2.4rem;font-weight:400;letter-spacing:.08em;opacity:.5}.brand span:first-letter{color:var(--accent)}nav{display:flex;align-items:center;gap:clamp(24px,3vw,44px);color:var(--text);font-size:.92rem;font-weight:700;letter-spacing:.18em}.social-links a,nav a{opacity:.9;transition:opacity .18s ease,color .18s ease}.social-links a:hover,nav a:hover{color:var(--warm);opacity:1}.social-links{display:flex;align-items:center;gap:24px;font-size:1.55rem;font-weight:700}.hero{position:relative;min-height:100svh;padding:148px clamp(28px,4.2vw,80px) 96px}.hero-visual{position:relative;min-height:calc(100svh - 220px);border-radius:18px;overflow:hidden;background:var(--panel-deep);box-shadow:0 34px 90px rgba(5,8,12,.28);isolation:isolate}.life-illustration,.life-scene{position:absolute;inset:0;width:100%;height:100%}.life-scene{overflow:hidden;background:radial-gradient(circle at 78% 14%,rgba(253,248,240,.14),transparent 17rem),radial-gradient(circle at 22% 22%,rgba(253,248,240,.08),transparent 14rem),linear-gradient(140deg,#19222c,#26313d 55%,#1c2631)}.life-scene:before{position:absolute;inset:auto -6% 0;height:34%;background:#273543;clip-path:polygon(0 38%,18% 24%,34% 45%,52% 22%,70% 40%,88% 18%,100% 36%,100% 100%,0 100%);content:""}.life-scene:after{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 0),linear-gradient(0deg,rgba(255,255,255,.02) 1px,transparent 0);background-size:86px 86px;opacity:.45;content:""}.life-scene.warm{background:radial-gradient(circle at 78% 14%,rgba(246,214,174,.26),transparent 18rem),radial-gradient(circle at 22% 22%,rgba(183,101,84,.18),transparent 14rem),linear-gradient(140deg,#20303d,#2f4050 55%,#25333e)}.life-scene.warm:before{background:#33485a}.scene{position:absolute;z-index:1;width:230px;height:180px;border:1px solid rgba(253,248,240,.13);border-radius:16px;background:rgba(253,248,240,.045);box-shadow:0 20px 52px rgba(6,8,12,.16);transform:translateZ(0)}.warm .scene{border-color:rgba(253,248,240,.18);background:rgba(253,248,240,.07)}.scene.work{left:7%;top:30%}.scene.school{left:30%;top:18%}.scene.friends{left:53%;top:31%}.scene.family{left:70%;top:50%}.scene.alone{left:82%;top:16%}.window{position:absolute;top:22px;right:22px;width:72px;height:58px;border:1px solid rgba(253,248,240,.22);border-radius:8px;background:rgba(253,248,240,.08)}.warm .window{background:rgba(246,214,174,.16)}.desk{position:absolute;left:22px;right:22px;bottom:44px;height:12px;border-radius:999px;background:rgba(253,248,240,.24)}.warm .desk{background:rgba(217,169,132,.5)}.person{position:absolute;left:46px;bottom:58px;width:46px;height:70px}.person.two{left:112px;transform:scale(.92)}.alone .person.two,.school .person.two,.work .person.two{display:none}.person:before{position:absolute;top:0;left:12px;width:25px;height:25px;border-radius:50%;background:#8c9091;content:""}.warm .person:before{background:#d8b39b}.person:after{position:absolute;left:6px;bottom:0;width:38px;height:42px;border-radius:24px 24px 8px 8px;background:#747b81;content:""}.warm .person:after{background:#8fb5ad}.family .person:after,.friends .person.two:after{background:#77737b}.warm .family .person:after{background:#d8cba9}.warm .friends .person.two:after{background:#c9bad9}.person span{position:absolute;top:-4px;left:8px;z-index:1;width:30px;height:20px;border-radius:50% 50% 40% 40%;background:#3a3f42}.warm .person span{background:#41362f}.scene p{position:absolute;left:20px;bottom:13px;margin:0;color:rgba(253,248,240,.54);font-size:.74rem;font-weight:700;letter-spacing:.12em}.warm .scene p{color:rgba(253,248,240,.76)}.color-layer{position:absolute;inset:0;clip-path:inset(0 100% 0 0);animation:revealColor 5.2s cubic-bezier(.22,1,.36,1) .7s forwards}.warm g{opacity:0;animation:breatheIn 1.3s ease forwards}.hero-shade{background:linear-gradient(90deg,rgba(14,18,24,.24),transparent 30%,rgba(14,18,24,.18)),linear-gradient(0deg,rgba(14,18,24,.3),transparent 38%,rgba(14,18,24,.2));pointer-events:none}.hero-shade,.logo-draw{position:absolute;inset:0}.logo-draw{display:grid;place-content:center;justify-items:center;gap:12px;text-align:center}.logo-draw svg{width:min(48vw,520px);min-width:280px;filter:drop-shadow(0 18px 34px rgba(5,8,12,.34))}.logo-draw text{fill:transparent;stroke:var(--text);stroke-width:1.8;stroke-dasharray:850;stroke-dashoffset:850;font-size:104px;font-weight:800;letter-spacing:.08em;animation:drawLogo 3.2s cubic-bezier(.65,0,.35,1) .2s forwards,fillLogo 1.2s ease 2.75s forwards}.logo-draw p{margin:0;color:var(--text);font-size:.95rem;font-weight:700;letter-spacing:.22em;opacity:0;animation:fadeUp .9s ease 2.8s forwards}.scroll-cue{position:absolute;left:50%;bottom:56px;z-index:4;display:grid;width:82px;height:82px;place-items:center;border-radius:50%;color:var(--background);background:var(--warm);transform:translateX(-50%);box-shadow:0 18px 44px rgba(6,8,12,.24);transition:transform .18s ease}.scroll-cue:hover{transform:translateX(-50%) translateY(4px)}.section{width:min(980px,calc(100% - 56px));margin:0 auto;padding:112px 0}.section-title{display:grid;justify-items:center;gap:22px;margin-bottom:66px;text-align:center}.section-title p{margin:0;color:var(--text);font-size:2.8rem;font-weight:800;letter-spacing:.18em}.section-title span{display:block;width:28px;height:2px;background:var(--line)}.center-copy{display:grid;justify-items:center;gap:26px;text-align:center}.center-copy h2{margin:0;font-size:1.42rem;font-weight:800;letter-spacing:.08em;line-height:1.8}.center-copy p,.contact-copy p,.service-list p{margin:0;color:var(--muted);font-size:1rem;line-height:2.05}.center-copy p{max-width:760px}.service-feature{display:grid;justify-items:center;gap:34px}.coming-visual{position:relative;display:grid;width:min(650px,100%);aspect-ratio:16/7;place-items:center;border-radius:6px;overflow:hidden;background:linear-gradient(120deg,rgba(255,255,255,.14),transparent 22%,rgba(255,255,255,.08) 42%,transparent 60%),linear-gradient(90deg,rgba(0,0,0,.34),rgba(0,0,0,.08)),var(--panel-deep);box-shadow:0 22px 70px rgba(6,8,12,.22)}.coming-visual:before{position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 42px,rgba(253,248,240,.04) 43px 44px),radial-gradient(circle at 18% 28%,rgba(253,248,240,.16),transparent 9rem);content:""}.coming-visual span{position:relative;color:var(--text);font-size:4rem;font-weight:900;letter-spacing:.02em;transform:skewX(-5deg)}.service-list{display:grid;width:min(650px,100%);gap:24px}.service-list article{display:grid;grid-template-columns:auto 1fr;gap:7px 14px;align-items:start;padding-bottom:24px;border-bottom:1px solid var(--line-soft)}.service-list svg{margin-top:4px;color:var(--warm);opacity:.72}.service-list h3{margin:0;font-size:1.08rem;letter-spacing:.04em}.service-list p{grid-column:2}.news{min-height:430px}.no-content{margin:0;text-align:center;color:var(--text);font-size:1.5rem;font-weight:800}.company-list{display:grid;width:min(700px,100%);margin:0 auto}.company-list div{display:grid;grid-template-columns:150px 1fr;gap:26px;padding:24px 0;border-bottom:1px solid var(--line)}dd,dt{margin:0;font-size:1rem;line-height:1.75}dt{font-weight:800}dd{color:var(--muted)}.contact{width:min(1080px,calc(100% - 56px));padding-bottom:90px}.contact-copy{width:min(700px,100%);margin:0 auto 70px}.contact-copy p+p{margin-top:12px}.contact-form{display:grid;width:min(700px,100%);gap:22px;margin:0 auto}.contact-form label{display:grid;gap:14px;color:var(--text);font-size:1rem;font-weight:800;letter-spacing:.03em}.contact-form label span{color:#df5a51}.contact-form input,.contact-form textarea{width:100%;border:2px solid rgba(253,248,240,.62);border-radius:4px;color:var(--text);background:transparent;outline:none;transition:border-color .18s ease,background .18s ease}.contact-form input{min-height:58px;padding:0 16px}.contact-form textarea{min-height:170px;padding:16px;resize:vertical}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--dim)}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--warm);background:rgba(253,248,240,.04)}.privacy-check{display:flex!important;grid-template-columns:none;align-items:center;gap:14px!important;font-weight:700!important}.privacy-check input{width:18px;min-height:18px;accent-color:var(--warm)}.privacy-link{width:max-content;border-bottom:1px solid;color:var(--muted)}.contact-form button{display:inline-flex;min-height:58px;align-items:center;justify-content:center;gap:10px;margin-top:34px;border:0;border-radius:5px;color:var(--background);background:var(--warm);font-weight:800;letter-spacing:.1em;cursor:pointer;transition:opacity .18s ease,transform .18s ease}.contact-form button:hover{opacity:.92;transform:translateY(2px)}.site-footer{display:flex;min-height:112px;align-items:center;justify-content:center;gap:18px;padding:30px 24px;color:var(--muted);background:rgba(20,28,36,.45);font-size:.95rem;letter-spacing:.14em;text-align:center}.footer-domain{color:var(--dim)}@keyframes revealColor{to{clip-path:inset(0 0 0 0)}}@keyframes breatheIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLogo{to{stroke-dashoffset:0}}@keyframes fillLogo{to{fill:var(--text);stroke:rgba(253,248,240,.28)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:.86;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important}.color-layer{clip-path:inset(0 0 0 0)}}@media (max-width:980px){.site-header{min-height:92px;grid-template-columns:1fr auto;gap:16px;padding:0 24px}nav{grid-column:1/-1;justify-content:center;gap:18px;padding-bottom:16px;font-size:.72rem}.social-links{gap:16px}.brand span{font-size:1.9rem}.hero{padding:132px 18px 82px}.hero-visual{min-height:calc(100svh - 190px)}.section{width:min(760px,calc(100% - 36px));padding:88px 0}.section-title{margin-bottom:48px}.section-title p{font-size:2.25rem}.coming-visual span{font-size:3rem}}@media (max-width:640px){.site-header{position:absolute;min-height:84px}nav{overflow-x:auto;justify-content:space-between;width:100%;gap:8px;padding-bottom:12px;font-size:.56rem;scrollbar-width:none}nav::-webkit-scrollbar{display:none}.social-links{display:none}.hero{min-height:760px;padding:126px 14px 80px}.hero-visual{min-height:570px;border-radius:14px}.logo-draw svg{width:82vw;min-width:0}.logo-draw text{font-size:88px}.logo-draw p{width:min(280px,86vw);font-size:.76rem;line-height:1.8}.scroll-cue{bottom:46px;width:66px;height:66px}.center-copy h2{font-size:1.08rem;line-height:1.9}.center-copy p,.contact-copy p,.service-list p{font-size:.94rem}.coming-visual{aspect-ratio:5/3}.coming-visual span{font-size:2.2rem}.service-list article{grid-template-columns:1fr}.service-list p{grid-column:auto}.company-list div{grid-template-columns:1fr;gap:8px}.contact,.section{width:calc(100% - 28px)}.site-footer{display:grid;gap:10px;font-size:.76rem;line-height:1.8}}