:root{--bg:#F7F5F0;--card:#EFECE5;--ink:#0A0A0A;--ink-2:rgba(10,10,10,.55);--ink-3:rgba(10,10,10,.35);--rule:rgba(10,10,10,.08);--rule-2:rgba(10,10,10,.14);--display:"Inter Tight","Noto Sans JP",sans-serif;--body:"Inter","Noto Sans JP",sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}html,body{background:var(--bg);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body{overflow-x:hidden}::selection{background:var(--ink);color:var(--bg)}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}[data-i18n]{transition:opacity .22s ease}body.lang-switching [data-i18n]{opacity:0}body.lang-ja{font-feature-settings:"palt"}body.lang-ja h1,body.lang-ja h2,body.lang-ja h3{letter-spacing:-.03em}.langtoggle{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;font-weight:500;font-family:var(--body);text-transform:uppercase;user-select:none}.langtoggle button{padding:0;line-height:1;color:#0a0a0a66;transition:color .25s ease}.langtoggle button.on{color:var(--ink)}.langtoggle .sep{color:#0a0a0a4d;font-size:10px}.nav{position:sticky;top:0;left:0;right:0;z-index:60;background:#f7f5f0d9;backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px);display:flex;align-items:center;justify-content:space-between;padding:24px 48px;gap:24px}.nav .brand{font-family:var(--display);font-weight:800;letter-spacing:.34em;font-size:14px}.nav .right{display:flex;align-items:center;gap:32px}.nav .navlink{font-size:13px;letter-spacing:.04em;color:var(--ink);font-weight:500;position:relative}.nav .navlink:after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.nav .navlink:hover:after{transform:scaleX(1)}@media(max-width:760px){.nav{padding:18px 24px;gap:16px}.nav .right{gap:20px}}.hero{min-height:calc(100vh - 70px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:14vh 32px 18vh}.hero h1{font-family:var(--display);font-weight:800;letter-spacing:-.04em;line-height:.95;font-size:clamp(46px,7.4vw,128px);max-width:18ch}.hero h1 .w{display:inline-block;clip-path:inset(0 0 110% 0);transform:translateY(.12em);animation:reveal 1.1s cubic-bezier(.2,.7,.2,1) .15s forwards}@keyframes reveal{to{clip-path:inset(0 0 0 0);transform:translateY(0)}}.hero p{margin-top:48px;max-width:46ch;color:var(--ink-2);font-size:clamp(15px,1.3vw,19px);line-height:1.55;opacity:0;transform:translateY(12px);animation:fade .9s ease .9s forwards}@keyframes fade{to{opacity:1;transform:none}}@media(max-width:760px){.hero{padding:12vh 24px 14vh}}section.s{padding:16vh 32px}.wrap{max-width:1100px;margin:0 auto}.label{font-size:11px;letter-spacing:.32em;text-transform:uppercase;color:var(--ink-3);font-weight:500;text-align:center;display:block}body.lang-ja .label{letter-spacing:.18em;font-size:12px}h2.title{font-family:var(--display);font-weight:800;letter-spacing:-.035em;line-height:1;font-size:clamp(36px,5.2vw,72px);margin-top:18px;text-align:center;max-width:18ch;margin-left:auto;margin-right:auto}@media(max-width:760px){section.s{padding:12vh 24px}}.pwrap{margin-top:72px;display:flex;flex-direction:column;align-items:center;gap:32px}.pcard{background:var(--card);border:1px solid var(--rule);padding:48px;border-radius:6px;width:100%;max-width:720px;display:flex;flex-direction:column;gap:22px;transition:transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease;color:inherit}.pcard:hover{transform:scale(1.012);box-shadow:0 24px 60px #00000014}.pcard-disabled{opacity:.55;cursor:default;pointer-events:none}.pcard-disabled:hover{transform:none;box-shadow:none}.pcard .badge{display:inline-flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-2);font-weight:500;align-self:flex-start;border:1px solid var(--rule-2);padding:6px 12px;border-radius:999px}.pcard .badge .dot{width:6px;height:6px;border-radius:50%;background:var(--ink)}.pcard .badge-soft{color:var(--ink-3);border-color:var(--rule)}body.lang-ja .pcard .badge{letter-spacing:.14em}.pcard h3{font-family:var(--display);font-weight:700;letter-spacing:-.02em;font-size:clamp(28px,3vw,40px)}.pcard .platform{margin-top:-8px;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-3);font-weight:500}body.lang-ja .pcard .platform{letter-spacing:.1em;font-size:12px;text-transform:none}.pcard p{color:var(--ink-2);font-size:clamp(15px,1.2vw,17px);line-height:1.55;max-width:36ch}.pcard .visit{margin-top:8px;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink);font-weight:500;display:inline-flex;align-items:center;gap:8px}.pcard .visit .arr{transition:transform .3s ease}.pcard:hover .visit .arr{transform:translate(4px)}body.lang-ja .pcard .visit{text-transform:none;letter-spacing:.06em;font-size:13px}.pwrap .more{font-size:12px;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-3);font-weight:500;margin-top:8px}body.lang-ja .pwrap .more{letter-spacing:.16em;font-size:13px}@media(max-width:760px){.pcard{padding:32px}}.about{text-align:center}.about .body{margin-top:48px;max-width:640px;margin-left:auto;margin-right:auto;text-align:left}.about .body p{font-family:var(--display);font-weight:400;font-size:clamp(19px,1.9vw,26px);line-height:1.55;color:var(--ink);letter-spacing:-.01em}.founder{text-align:center;padding:12vh 32px 14vh}.founder p{color:var(--ink-2);font-size:15px;line-height:1.7;max-width:48ch;margin:0 auto}.founder p.headline{color:var(--ink);font-family:var(--display);font-weight:600;font-size:clamp(18px,1.6vw,22px);letter-spacing:-.01em;margin-bottom:10px}footer{border-top:1px solid var(--rule);padding:40px 48px;background:var(--bg)}footer .row{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;font-size:12px;letter-spacing:.24em;text-transform:uppercase;color:var(--ink-3);font-weight:500}footer .row>:nth-child(1){justify-self:start}footer .row>:nth-child(2){justify-self:center}footer .row>:nth-child(3){justify-self:end}footer .row .mail{letter-spacing:.06em;text-transform:none;color:var(--ink-2);font-weight:400;font-size:13px}footer .row .mail:hover{color:var(--ink)}footer .legal{display:flex;gap:20px}footer .legal a{transition:color .25s ease}footer .legal a:hover{color:var(--ink)}body.lang-ja footer .row{letter-spacing:.06em;text-transform:none;font-size:12px}@media(max-width:760px){footer{padding:32px 24px}footer .row{grid-template-columns:1fr;gap:16px;text-align:center}footer .row>:nth-child(1),footer .row>:nth-child(2),footer .row>:nth-child(3){justify-self:center}footer .legal{flex-wrap:wrap;justify-content:center}}.reveal{opacity:0;transform:translateY(20px);transition:opacity 1s cubic-bezier(.22,1,.36,1),transform 1s cubic-bezier(.22,1,.36,1)}.reveal.in{opacity:1;transform:none}
