:root{--ink:#313638;--muted:#5b6367;--aqua:#24bcc5;--aqua-dark:#187b83;--pink:#e75894;--paper:#fdfcf9;--lavender:#eae5f2;--line:#dedfe0}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0;background:var(--paper);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Noto Sans JP",Meiryo,sans-serif;font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,canvas:focus-visible,summary:focus-visible{outline:3px solid #167b83;outline-offset:5px}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:700;line-height:1.5;letter-spacing:-.045em}h2{font-size:clamp(30px,3.5vw,46px)}h3{font-size:22px}em{font-style:normal;color:var(--aqua-dark)}.section-inner{max-width:1200px;padding-left:48px;padding-right:48px;margin:auto}.eyebrow{font-size:12px;font-weight:650;letter-spacing:.13em;margin-bottom:22px;color:#596168}.skip-link{position:fixed;top:-100px;left:20px;z-index:20;background:white;padding:10px 20px}.skip-link:focus{top:10px}.header{height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 5.2%;background:var(--lavender)}.brand{font-size:33px;font-weight:750;letter-spacing:-1.7px;line-height:1}.brand-dot{color:var(--pink)}nav{display:flex;gap:30px;font-size:13px;font-weight:600}nav a:hover{color:var(--aqua-dark)}.nav-cta{background:var(--ink);color:white;font-size:13px;border-radius:40px;padding:12px 22px;white-space:nowrap}.nav-cta span{margin-left:20px}.nav-cta:hover{background:#4c5557}.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--lavender);height:calc(100svh - 88px);min-height:760px;max-height:1000px}.hero-copy{position:absolute;left:5.2%;bottom:105px;z-index:2;pointer-events:none}.hero-copy a{pointer-events:auto}.hero-copy .eyebrow{font-size:13px;letter-spacing:.07em;color:#595265}.status-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--pink);vertical-align:2px;margin-right:8px}h1{font-size:clamp(38px,4.1vw,62px);line-height:1.5;letter-spacing:-.07em}.hero-description{font-size:17px;line-height:1.9;margin-top:22px;color:#514c5a}.hero-link{display:inline-flex;align-items:center;gap:28px;margin-top:23px;font-size:15px;font-weight:600}.hero-link span{display:grid;place-items:center;width:31px;height:31px;border:1px solid #b9b0c7;border-radius:50%}.hero-link:hover span{background:#f9f6ff}.hero-visual{width:100%;height:100%;position:relative}.hero-visual canvas{position:absolute;right:-8%;top:-40px;width:86%;height:88%;touch-action:pan-y pinch-zoom;cursor:grab}.hero-visual canvas:active,.friends-visual canvas:active{cursor:grabbing}.scene-tools{position:absolute;right:5.2%;bottom:85px;display:flex;align-items:center;gap:18px;font-size:12px;color:#5d546a;z-index:3}.reset{font-size:12px;border:1px solid #bcb5c6;border-radius:25px;padding:8px 12px;background:transparent;color:inherit;cursor:pointer;min-height:38px}.reset:hover{background:#ffffff80}.hero-bottom{position:absolute;left:5.2%;right:5.2%;bottom:25px;display:flex;justify-content:space-between;font-size:11px;letter-spacing:.08em;color:#625a6b;z-index:3}.hero-bottom a span{margin-left:20px}.canvas-fallback{position:absolute;inset:40% 15%;text-align:center;color:var(--aqua-dark)}.entrances{padding-top:88px;padding-bottom:100px}.section-intro{position:relative}.section-intro>p:last-child{position:absolute;right:0;bottom:6px;color:var(--muted);font-size:16px;line-height:1.9}.compact h2{font-size:30px}.compact .eyebrow{margin-bottom:13px}.entrance-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:36px}.entrance-card{padding:25px 25px 20px;background:#eef7f5;border-radius:4px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.entrance-card:nth-child(2){background:#fbecf1}.entrance-card:nth-child(3){background:#efedf6}.entrance-card:hover{transform:translateY(-4px);box-shadow:0 12px 25px #31363808}.entrance-index{font-size:14px;color:#546268;display:flex;gap:13px;align-items:center}.entrance-index>span{font-size:10px;letter-spacing:.08em}.entrance-card h3{margin:26px 0 12px;font-size:21px}.entrance-card p{font-size:16px;color:#525b60;line-height:1.8}.card-link{display:flex;justify-content:space-between;align-items:center;font-size:14px;font-weight:600;margin-top:28px;padding-top:15px;border-top:1px solid #31363820}.card-link>span{font-size:20px}.approach{background:white;padding:98px 0 0}.role-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:75px;align-items:start}.role-heading>p:not(.eyebrow){font-size:16px;margin-top:24px;line-height:1.9;color:var(--muted)}.role-heading h2{font-size:39px}.friends-visual{width:100%;height:330px;position:relative;margin-top:5px}.friends-visual canvas{width:100%;height:290px;touch-action:pan-y pinch-zoom;cursor:grab}.friends-controls{display:flex;align-items:center;justify-content:center;gap:16px;font-size:12px;color:#536169}.friends-controls .reset{border-color:#cdd7d9;font-size:11px}.role-list{padding-top:27px}.role-item{display:flex;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.role-item:first-child{padding-top:0}.role-symbol{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:13px;font-size:25px;margin-top:5px}.aqua{background:#e1f4f2;color:#1c7880}.pink{background:#fae8ef;color:#ac3562}.yellow{background:#faf0d1;color:#856a20}.role-specialist{font-size:13px;color:#536068}.role-item h3{font-size:22px;margin:3px 0 10px}.role-item p{color:var(--muted);line-height:1.85;font-size:16px}.role-note{font-size:12px;color:#626c71;margin-top:18px}.connection-note{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1.4fr;gap:40px;padding-top:29px;padding-bottom:35px;margin-top:36px;align-items:start}.connection-label{font-size:19px;font-weight:650;letter-spacing:-.04em}.connection-note p{font-size:14px;color:var(--muted);line-height:1.9}.steps{padding-top:110px;padding-bottom:100px}.step-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;list-style:none;padding:0;margin:50px 0 0}.step-grid li{border-top:1px solid #cfd5d6;padding-top:19px}.step-number{font-size:14px;color:var(--aqua-dark);letter-spacing:.05em}.step-grid h3{margin:21px 0 12px;font-size:21px}.step-grid p{font-size:16px;line-height:1.9;color:var(--muted)}.section-note{border-left:2px solid #bcc7c9;margin-top:38px;padding-left:15px;font-size:13px;color:#596368}.partnership{background:#f2eff6;padding:96px 0 105px}.partner-grid{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin-top:45px}.partner-card{display:flex;flex-direction:column;background:var(--paper);padding:36px;border-top:3px solid var(--pink);scroll-margin-top:30px}.company-card{border-color:var(--aqua)}.partner-label{font-size:13px;color:#675761;font-weight:600}.company-card .partner-label{color:#42666a}.partner-card h3{font-size:25px;margin:25px 0 20px}.partner-card>p{font-size:16px;color:var(--muted);line-height:1.9}.partner-card ul{list-style:none;padding:0;margin:23px 0 27px}.partner-card li{font-size:14px;padding:7px 0 7px 20px;position:relative}.partner-card li:before{content:'＋';position:absolute;left:0;color:var(--aqua-dark);font-size:13px}.partner-card .development-note{font-size:12px;line-height:1.8;background:#f1f0f3;padding:14px 16px;margin:0 0 22px}.development-note>span{display:block;font-weight:700;margin-bottom:4px}.round-link{display:flex;justify-content:space-between;align-items:center;gap:15px;border-top:1px solid var(--line);padding-top:20px;font-size:14px;font-weight:600;margin-top:auto}.round-link>span{display:grid;place-items:center;flex:0 0 31px;height:31px;background:#eaf3f2;border-radius:50%;font-size:17px}.round-link:hover>span{background:#cdeae9}.faq{padding-top:106px;padding-bottom:110px;display:grid;grid-template-columns:1fr 1.55fr;gap:70px}.faq-heading h2{font-size:36px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;position:relative;padding:24px 42px 24px 0;font-weight:600;line-height:1.8;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:'＋';position:absolute;right:3px;top:24px;font-size:20px;color:var(--aqua-dark);font-weight:400}details[open]>summary:after{content:'−'}details p{font-size:16px;line-height:1.9;color:var(--muted);padding:0 25px 25px 0}.contact{text-align:center;background:#eaf3f1;padding:87px 0 75px}.contact h2{font-size:39px}.contact .eyebrow{color:#42716e}.contact h2+p{font-size:16px;color:#53625f;margin-top:21px;line-height:1.9}.message-hints{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;margin-top:25px;font-size:12px;color:#53625f}.contact-panel{display:flex;text-align:left;justify-content:space-between;align-items:center;max-width:590px;margin:29px auto 20px;background:var(--ink);color:white;padding:25px 30px;border-radius:3px;gap:20px;transition:background .2s}.contact-panel:hover{background:#455450}.contact-panel>span:first-child{display:flex;flex-direction:column}.contact-label{font-size:12px;color:#d0e2dc;letter-spacing:.04em}.contact-panel strong{font-size:25px;letter-spacing:-.03em;line-height:1.6;margin:5px 0}.contact-sub{font-size:12px;color:#d4dfdc}.contact-mark{font-size:29px;color:#81ddd6}.contact-note{font-size:12px;color:#586761;line-height:1.9}.footer{display:flex;gap:28px;align-items:center;padding-top:37px;padding-bottom:37px}.footer .brand{font-size:28px}.footer p{font-size:11px;color:#596267;flex:1}.footer>span,.footer>a:last-child{font-size:11px;color:#596267}
@media(min-width:1600px){.hero{min-height:900px}.hero-copy{bottom:120px}.hero-visual canvas{height:90%}.hero-copy h1{font-size:66px}}
@media(max-width:1050px){nav{gap:17px;font-size:12px}.header{padding:0 4%;gap:15px}.section-inner{padding-left:34px;padding-right:34px}.hero-visual canvas{width:100%;right:-15%;top:-45px}.hero-copy{left:4%}.role-layout{gap:35px}.role-heading h2{font-size:33px}.section-intro>p:last-child{max-width:40%}.compact>p:last-child{font-size:14px}.entrance-card{padding:22px 20px}.entrance-card h3{font-size:18px}.entrance-card p{font-size:16px}.partner-card{padding:27px}.partner-card h3{font-size:23px}.faq{gap:45px}.step-grid{gap:20px}.step-grid h3{font-size:19px}}
@media(max-width:760px){html{scroll-padding-top:20px}.section-inner{padding-left:25px;padding-right:25px}.header{height:72px;padding:0 6%}.brand{font-size:29px}nav{display:none}.nav-cta{font-size:12px;padding:10px 16px}.nav-cta span{margin-left:12px}.hero{height:850px;min-height:850px;max-height:none}.hero-copy{left:6%;right:6%;bottom:81px}.hero-copy .eyebrow{font-size:11px;margin-bottom:15px}.hero-copy h1{font-size:clamp(31px,7.6vw,49px);line-height:1.5}.hero-description{font-size:16px;line-height:1.85;margin-top:19px}.hero-link{font-size:14px;margin-top:18px;gap:20px}.hero-visual{height:455px}.hero-visual canvas{width:130%;height:450px;top:-15px;left:-15%;right:auto}.scene-tools{right:0;left:0;bottom:0;justify-content:center;font-size:10px;gap:15px}.reset{font-size:11px;min-height:36px}.hero-bottom{left:6%;right:6%;bottom:23px;font-size:9px;letter-spacing:.04em}.hero-bottom a span{margin-left:9px}.eyebrow{font-size:11px;margin-bottom:15px}.entrances{padding-top:53px;padding-bottom:60px}.section-intro>p:last-child{position:static;max-width:none;font-size:16px;margin-top:20px}.compact h2{font-size:27px}.compact>p:last-child{font-size:14px;margin-top:13px}.entrance-grid{grid-template-columns:1fr;margin-top:27px;gap:12px}.entrance-card{padding:22px 24px;position:relative}.entrance-index{font-size:12px;gap:12px}.entrance-index>span{font-size:9px}.entrance-card h3{font-size:21px;margin:11px 0 6px}.entrance-card p{font-size:16px;line-height:1.8}.entrance-card p br{display:none}.card-link{font-size:13px;padding-top:12px;margin-top:17px}.approach{padding-top:60px}.role-layout{grid-template-columns:1fr;gap:29px}.role-heading h2{font-size:32px}.role-heading>p:not(.eyebrow){font-size:16px;line-height:1.9;margin-top:19px}.role-heading>p:not(.eyebrow) br{display:none}.friends-visual{height:290px;margin-top:4px}.friends-visual canvas{height:255px}.friends-controls{font-size:11px;gap:12px}.role-list{padding-top:0}.role-item{gap:15px;padding:22px 0}.role-symbol{flex-basis:35px;height:35px;font-size:23px;border-radius:10px}.role-specialist{font-size:12px}.role-item h3{font-size:21px;margin:3px 0 8px}.role-item p{font-size:16px}.role-note{font-size:12px;margin-top:16px}.connection-note{display:block;margin-top:30px;padding-top:24px;padding-bottom:30px}.connection-label{font-size:19px}.connection-note p{font-size:14px;margin-top:12px}.connection-note br{display:none}.steps{padding-top:65px;padding-bottom:60px}h2{font-size:32px}.step-grid{grid-template-columns:1fr;gap:0;margin-top:33px}.step-grid li{position:relative;padding:21px 0 22px 45px}.step-number{position:absolute;top:24px;left:0;font-size:13px}.step-grid h3{font-size:21px;margin:0 0 8px}.step-grid p{font-size:16px;line-height:1.8}.section-note{margin-top:13px;font-size:12px}.partnership{padding:60px 0}.partner-grid{grid-template-columns:1fr;margin-top:30px;gap:20px}.partner-card{padding:27px 24px}.partner-label{font-size:12px}.partner-card h3{font-size:23px;margin:20px 0 16px}.partner-card>p{font-size:16px}.partner-card ul{margin:18px 0 23px}.partner-card li{font-size:14px}.round-link{font-size:13px;padding-top:17px}.partner-card .development-note{font-size:12px;padding:13px}.faq{display:block;padding-top:65px;padding-bottom:65px}.faq-heading h2{font-size:31px}.faq-heading h2 br{display:none}.faq-list{margin-top:28px}summary{font-size:16px;padding:22px 32px 22px 0}summary:after{top:22px;font-size:18px}details p{font-size:16px;padding-right:0}.contact{padding:58px 0 49px}.contact h2{font-size:clamp(24px,6.3vw,35px)}.contact h2+p{font-size:16px;margin-top:18px}.message-hints{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:12px;margin-top:22px}.contact-panel{padding:22px 23px;margin-top:25px}.contact-panel strong{font-size:23px}.contact-note{font-size:12px;text-align:left}.contact-note br{display:none}.footer{padding:29px 0;margin:0 25px;gap:18px;flex-wrap:wrap}.footer .brand{font-size:27px}.footer p{font-size:10px;flex-basis:60%}.footer>span{flex:1}.footer>a:last-child{font-size:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
