@font-face{font-family:LensRoveSerif;src:url('../assets/fonts/source-han-serif-vf-latin.woff2') format('woff2');font-display:swap;font-weight:400 800}
:root{--canvas:#f7f8fa;--surface:#fff;--surface-raised:#f1f4f8;--ink:#111318;--muted:#5c6470;--line:#dce2ea;--blue:#0a84ff;--amber:#ffb340;--coral:#ff5a5f;--mint:#32d583;--violet:#6e5aef;--danger:#ff453a;--shadow:0 22px 70px rgba(29,48,73,.09);--shell:min(1180px,calc(100% - 40px));--reading:min(760px,100%);--radius-lg:30px;--radius-md:22px;color-scheme:light}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--canvas)}
body{margin:0;background:var(--canvas);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue","PingFang SC","Hiragino Sans GB","Yu Gothic",Meiryo,sans-serif;line-height:1.68;text-rendering:optimizeLegibility}
a{color:inherit}
img{max-width:100%}
button,select,a{font:inherit}
button,select{color:inherit}
[hidden]{display:none!important}
.skip-link{position:fixed;z-index:1000;top:10px;left:10px;transform:translateY(-150%);padding:12px 16px;border-radius:12px;background:var(--ink);color:#fff;text-decoration:none;font-weight:750}.skip-link:focus{transform:none}
.site-header{position:relative;z-index:50;height:73px;border-bottom:1px solid rgba(220,226,234,.82);background:rgba(247,248,250,.88);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav-shell{width:var(--shell);height:73px;margin:auto;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:28px}
.brand{min-height:44px;display:inline-flex;align-items:center;gap:11px;color:var(--ink)!important;text-decoration:none;font-size:20px;font-weight:800;letter-spacing:-.025em}.brand img{width:42px;height:42px;border-radius:12px;box-shadow:0 8px 22px rgba(17,19,24,.12)}
.site-nav{display:flex;justify-content:flex-end;align-items:center;gap:6px}.site-nav a,.footer-links a{min-height:44px;display:inline-flex;align-items:center;padding:0 12px;border-radius:11px;color:var(--muted);text-decoration:none;font-size:13px;font-weight:680}.site-nav a:hover,.site-nav a[aria-current="page"],.footer-links a:hover{color:var(--ink);background:rgba(255,255,255,.8)}
.language-select{min-width:76px;min-height:44px;padding:0 32px 0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:12px;font-weight:800;cursor:pointer}
.page-shell{width:var(--shell);margin-inline:auto}
.legal-status{width:var(--shell);margin:18px auto 0;padding:13px 16px;display:flex;gap:12px;align-items:flex-start;border:1px solid rgba(255,179,64,.38);border-radius:16px;background:#fff8e8;color:#795621}.legal-status span{flex:0 0 9px;width:9px;height:9px;margin-top:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 6px rgba(255,179,64,.15)}.legal-status strong{display:block;font-size:13px}.legal-status p{margin:2px 0 0;font-size:12px;line-height:1.55}
.page-hero{overflow:hidden;position:relative;padding:88px 0 72px;background:linear-gradient(135deg,#f8fbff 0%,#eef5ff 52%,#eefbf6 100%);border-bottom:1px solid var(--line)}
.page-hero::after{content:"";position:absolute;right:-100px;top:-170px;width:520px;height:520px;border:1px solid rgba(10,132,255,.14);border-radius:50%;box-shadow:0 0 0 62px rgba(10,132,255,.035),0 0 0 128px rgba(50,213,131,.025)}
.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;align-items:center}.hero-copy{max-width:820px}.eyebrow{margin:0 0 20px;display:flex;align-items:center;gap:10px;color:#45505d;font-size:12px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.eyebrow i{width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 0 6px rgba(50,213,131,.13)}
.page-hero h1{max-width:900px;margin:0;font-size:clamp(54px,6.2vw,72px);line-height:1.02;letter-spacing:-.065em}.page-hero h1.serif{font-family:LensRoveSerif,ui-serif,serif;font-weight:650;letter-spacing:-.055em}.hero-lead{max-width:760px;margin:24px 0 0;color:var(--muted);font-size:clamp(17px,2vw,20px);line-height:1.72}.hero-meta{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.hero-meta span{min-height:38px;display:inline-flex;align-items:center;padding:7px 13px;border:1px solid rgba(220,226,234,.9);border-radius:999px;background:rgba(255,255,255,.72);color:#505966;font-size:12px;font-weight:680}
.hero-symbol{width:220px;height:220px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.58);box-shadow:inset 0 0 0 1px rgba(255,255,255,.92),var(--shadow)}.hero-symbol svg{width:104px;height:104px;fill:none;stroke:var(--blue);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--line);background:var(--surface)}.summary-grid article{min-height:190px;padding:32px 26px;border-right:1px solid var(--line)}.summary-grid article:last-child{border-right:0}.summary-icon{width:42px;height:42px;display:grid;place-items:center;margin-bottom:18px;border-radius:13px;background:var(--surface-raised);color:var(--blue);font-weight:850}.summary-grid h2{margin:0;font-size:17px}.summary-grid p{margin:8px 0 0;color:var(--muted);font-size:13px;line-height:1.68}
.content-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:70px;padding-top:78px;padding-bottom:100px}.page-sidebar{align-self:start;position:sticky;top:24px}.page-sidebar>p{margin:0 0 12px;color:#9098a2;font-size:11px;font-weight:850;letter-spacing:.13em;text-transform:uppercase}.toc{display:grid;gap:3px}.toc a{min-height:44px;display:flex;align-items:center;padding:7px 11px;border-radius:10px;color:var(--muted);font-size:12px;text-decoration:none}.toc a:hover,.toc a.is-current{background:#fff;color:var(--blue)}.sidebar-note{margin-top:22px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--muted);font-size:11px;line-height:1.6}
.reading{width:var(--reading)}.reading section{scroll-margin-top:28px;padding:0 0 54px;margin-bottom:54px;border-bottom:1px solid var(--line)}.reading section:last-child{border-bottom:0}.section-number{margin-bottom:8px;color:var(--blue);font-size:12px;font-weight:850;letter-spacing:.12em}.reading h2{margin:0 0 18px;font-size:clamp(27px,3vw,36px);line-height:1.18;letter-spacing:-.035em}.reading h3{margin:28px 0 8px;font-size:17px}.reading p,.reading li{color:#424a55;font-size:15px}.reading ul{padding-left:1.3em}.reading a{color:#0879e8;text-underline-offset:3px}.callout{margin:24px 0;padding:20px 22px;border-left:4px solid var(--blue);border-radius:0 16px 16px 0;background:#edf6ff}.callout.warning{border-left-color:var(--amber);background:#fff8e8}.callout strong{display:block;margin-bottom:4px}.callout p{margin:0;font-size:13px}.detail-grid,.service-list,.support-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:22px 0}.detail-grid article,.service-list article,.support-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:#fff}.detail-grid article span,.service-list article>span,.support-card .card-kicker{color:var(--blue);font-size:11px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.detail-grid h3,.service-list h3,.support-card h2{margin:6px 0 8px}.detail-grid p,.service-list p,.support-card p{margin:0;color:var(--muted);font-size:13px}.service-links{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}.service-links a{min-height:44px;display:inline-flex;align-items:center;padding:6px 10px;border-radius:10px;background:var(--surface-raised);font-size:11px;text-decoration:none}.contact-card{min-height:78px;margin-top:22px;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(10,132,255,.22);border-radius:18px;background:#f1f7ff;text-decoration:none}.contact-card span{display:block;color:var(--muted);font-size:11px}.contact-card strong{font-size:14px;overflow-wrap:anywhere}.contact-card b{color:var(--blue);font-size:24px}
.support-main{padding:68px 0 100px}.support-intro{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:30px;align-items:start}.support-quick{padding:24px;border:1px solid var(--line);border-radius:24px;background:#fff;box-shadow:var(--shadow)}.support-quick h2{margin:0 0 8px;font-size:20px}.support-quick p{margin:0;color:var(--muted);font-size:13px}.primary-button,.secondary-button{min-height:48px;display:inline-flex;align-items:center;justify-content:center;margin-top:18px;padding:0 18px;border-radius:14px;text-decoration:none;font-weight:780}.primary-button{background:var(--ink);color:#fff}.secondary-button{border:1px solid var(--line);background:#fff;color:var(--ink)}.support-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:46px}.support-card{min-height:210px}.support-card h2{font-size:18px}.support-card a{min-height:44px;display:inline-flex;align-items:center;margin-top:14px;color:var(--blue);font-size:13px;font-weight:750;text-decoration:none}.faq-section{margin-top:62px}.section-heading{max-width:720px}.section-heading>p:first-child{margin:0;color:var(--blue);font-size:12px;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.section-heading h2{margin:10px 0 0;font-size:clamp(32px,5vw,48px);line-height:1.1;letter-spacing:-.05em}.faq-list{display:grid;gap:10px;margin-top:28px}.faq-list details{border:1px solid var(--line);border-radius:17px;background:#fff}.faq-list summary{min-height:58px;padding:16px 52px 16px 18px;display:flex;align-items:center;position:relative;cursor:pointer;font-weight:730;list-style:none}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary::after{content:"+";position:absolute;right:20px;color:var(--blue);font-size:20px}.faq-list details[open] summary::after{content:"−"}.faq-list details p{margin:0;padding:0 18px 18px;color:var(--muted);font-size:14px}.privacy-note{margin-top:28px;padding:22px 24px;border-radius:20px;background:#edf6ff;color:#315b82;font-size:13px}
.terms-hero{padding-bottom:58px}.terms-layout{padding-top:64px}.terms-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.terms-summary span{padding:8px 12px;border-radius:999px;background:#fff;color:var(--muted);font-size:12px;border:1px solid var(--line)}
.not-found-main{min-height:calc(100vh - 73px);padding:70px 20px 90px;display:grid;place-items:center}.not-found-card{width:min(680px,100%);padding:58px 48px;text-align:center;border:1px solid var(--line);border-radius:32px;background:#fff;box-shadow:var(--shadow)}.not-found-icon{width:92px;height:92px;margin:auto;border-radius:24px;box-shadow:0 16px 34px rgba(17,19,24,.14)}.not-found-code{margin:22px 0 5px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.16em}.not-found-card h1{margin:0;font-size:clamp(38px,7vw,62px);line-height:1.05;letter-spacing:-.055em}.not-found-card p{max-width:500px;margin:18px auto 0;color:var(--muted)}.not-found-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:20px}
.site-footer{border-top:1px solid var(--line);background:#fff}.footer-grid{min-height:150px;padding:34px 0;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}.footer-brand{display:flex;align-items:center;gap:12px}.footer-brand img{width:38px;height:38px;border-radius:11px}.footer-brand strong,.footer-brand span{display:block}.footer-brand span{color:var(--muted);font-size:12px}.footer-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:2px}.copyright{grid-column:1/-1;margin:0;color:#858d98;font-size:11px}
:focus-visible{outline:3px solid rgba(10,132,255,.45);outline-offset:3px}
@media(max-width:900px){.site-nav{display:none}.nav-shell{grid-template-columns:1fr auto}.hero-grid{grid-template-columns:1fr}.hero-symbol{display:none}.summary-grid{grid-template-columns:repeat(2,1fr)}.summary-grid article:nth-child(2){border-right:0}.content-layout{grid-template-columns:1fr;gap:34px}.page-sidebar{position:static}.toc{grid-template-columns:repeat(2,minmax(0,1fr))}.support-intro{grid-template-columns:1fr}.support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){:root{--shell:calc(100% - 32px)}.site-header,.nav-shell{height:65px}.brand{font-size:18px}.brand img{width:38px;height:38px}.language-select{min-width:72px}.legal-status{margin-top:12px}.page-hero{padding:60px 0 52px}.page-hero h1{font-size:clamp(40px,11.3vw,44px);line-height:1.08;letter-spacing:-.055em}.hero-lead{font-size:16px}.hero-meta{display:grid}.hero-meta span{border-radius:14px}.summary-grid{grid-template-columns:1fr}.summary-grid article{min-height:0;padding:24px 16px;border-right:0;border-bottom:1px solid var(--line)}.summary-grid article:last-child{border-bottom:0}.content-layout{padding-top:50px;padding-bottom:70px}.toc{grid-template-columns:1fr}.toc a{min-height:44px}.reading section{padding-bottom:40px;margin-bottom:40px}.reading h2{font-size:28px}.detail-grid,.service-list,.support-grid{grid-template-columns:1fr}.support-main{padding:48px 0 70px}.support-grid{margin-top:34px}.section-heading h2{font-size:34px}.not-found-main{min-height:calc(100vh - 65px);padding:42px 16px 64px}.not-found-card{padding:42px 22px}.not-found-actions{display:grid}.not-found-actions a{width:100%;margin-top:0}.footer-grid{grid-template-columns:1fr;padding:30px 0}.footer-links{justify-content:flex-start}.copyright{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){.legal-status,.callout,.support-card,.not-found-card{border:1px solid CanvasText}.primary-button{border:1px solid ButtonText}}
