:root{color-scheme:light;--bg:#f8fafc;--ink:#0f172a;--muted:#526070;--line:#d8e0e8;--panel:#fff;--brand:#1677c8;--brand-dark:#0e4f87;--accent:#16a085;--warm:#f4b942;--footer:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.6}a{color:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:6px}.site-header{align-items:center;background:hsla(0,0%,100%,.94);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;gap:24px;justify-content:space-between;min-height:68px;padding:14px clamp(20px,5vw,72px);position:-webkit-sticky;position:sticky;top:0;z-index:20}.brand,.footer-brand{align-items:center;display:inline-flex;font-weight:800;text-decoration:none}.brand{flex:0 0 auto}.brand-logo,.footer-logo{display:block;height:auto;max-width:100%}.header-nav{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.header-nav a{color:#304052;font-size:.94rem;font-weight:700;text-decoration:none}.header-nav a:not(.primary-link){border-radius:8px;padding:7px 8px}.header-nav a:not(.primary-link):hover{background:#eef6fc;color:var(--brand-dark)}.header-nav .login-link{color:var(--brand-dark)}.button.primary,.header-nav .primary-link{background:var(--brand);color:#fff}.header-nav .primary-link{border-radius:8px;padding:8px 14px}.language-switcher{align-items:center;background:#eef6fc;border:1px solid #cae1f3;border-radius:8px;display:inline-flex;padding:3px}.language-switcher a{color:#486176;font-size:.82rem;padding:5px 8px}.language-switcher a.active{background:#fff;color:var(--brand-dark)}.hero{background:linear-gradient(130deg,rgba(22,119,200,.1),transparent 38%),linear-gradient(20deg,rgba(22,160,133,.14),transparent 40%),#f8fafc;display:grid;grid-gap:clamp(28px,5vw,64px);gap:clamp(28px,5vw,64px);grid-template-columns:minmax(0,1fr) minmax(320px,.88fr);min-height:min(760px,calc(100vh - 68px));padding:clamp(42px,7vw,88px) clamp(20px,5vw,72px) clamp(32px,5vw,56px)}.hero-copy{align-self:center;max-width:720px}.eyebrow{color:var(--accent);font-size:.78rem;font-weight:800;letter-spacing:0;margin:0 0 10px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.3rem,5vw,4.2rem);letter-spacing:0;line-height:1.14;margin-bottom:24px}h1,h2{text-wrap:balance}h2{font-size:clamp(1.75rem,4vw,3rem);line-height:1.18;margin-bottom:18px}h3{font-size:1.16rem;line-height:1.32;margin-bottom:10px;text-wrap:balance}.lead{color:var(--muted);font-size:clamp(1.05rem,2vw,1.28rem);max-width:680px;text-wrap:pretty}[lang=ja] .lead,[lang=ja] h1,[lang=ja] h2,[lang=ja] h3,[lang=ja] li,[lang=ja] p{line-break:strict;overflow-wrap:anywhere;word-break:normal}.cta-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.button,.text-link{font-weight:800;text-decoration:none}.button{border:1px solid transparent;border-radius:8px;display:inline-flex;justify-content:center;min-width:132px;padding:12px 18px;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.button.primary:hover{background:var(--brand-dark)}.button.secondary:hover{background:#ddeeeb}.button:hover{transform:translateY(-1px)}.button.secondary{background:#e9f6f3;border-color:#b8ded6;color:#08705e}.text-link{color:var(--brand-dark);padding:12px 4px}.button.is-disabled,.button.primary.is-disabled{background:#94a3b8;border-color:#94a3b8;color:#fff;cursor:not-allowed;gap:10px;opacity:.9}.button.is-disabled:hover,.button.primary.is-disabled:hover{background:#94a3b8;box-shadow:none;transform:none}.text-link.is-disabled{align-items:center;color:#64748b;cursor:not-allowed;display:inline-flex;gap:8px}.cta-coming-soon{background:hsla(0,0%,100%,.22);font-size:.72rem;padding:2px 9px}.cta-coming-soon,.text-link-coming-soon{border-radius:999px;font-weight:700;letter-spacing:.02em;text-transform:uppercase}.text-link-coming-soon{background:#e2e8f0;color:#64748b;font-size:.7rem;padding:2px 8px}.hero-stats{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:36px;max-width:720px}.stat-item{background:hsla(0,0%,100%,.76);border:1px solid var(--line);border-radius:8px;padding:14px}.stat-item span,.stat-item strong{display:block}.stat-item strong{color:var(--brand-dark);font-size:.98rem;line-height:1.25}.stat-item span{color:var(--muted);font-size:.86rem;margin-top:5px}.hero-media{align-self:center;filter:drop-shadow(0 24px 60px rgba(15,23,42,.18))}.hero-media img{display:block;height:auto;width:100%}.section{background:var(--panel);border-top:1px solid var(--line);padding:clamp(44px,7vw,80px) clamp(20px,5vw,72px)}.muted-section{background:#eef6fc}.section-heading{max-width:760px}.section-heading p{color:var(--muted);font-size:1.05rem}.feature-grid{display:grid;grid-gap:18px;gap:18px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:32px}.feature-card{background:#f8fafc;border:1px solid var(--line);border-radius:8px;padding:24px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.feature-card:hover{border-color:#b9d4ea;box-shadow:0 14px 32px rgba(15,23,42,.08);transform:translateY(-2px)}.feature-card h3{color:var(--brand-dark)}.app-panel p,.faq-item p,.feature-card p,.flow-step p,.legal-document li,.legal-document p{color:var(--muted)}.flow-list{display:grid;grid-gap:14px;gap:14px;margin-top:32px}.flow-step{align-items:start;background:#fff;border:1px solid #cae1f3;border-radius:8px;display:grid;grid-gap:18px;gap:18px;grid-template-columns:auto minmax(0,1fr);padding:22px}.flow-step>span{align-items:center;background:var(--brand-dark);border-radius:8px;color:#fff;display:inline-flex;font-weight:900;height:40px;justify-content:center;width:48px}.app-panel{align-items:start;background:#fff;border-top:1px solid var(--line);display:grid;grid-gap:28px;gap:28px;grid-template-columns:minmax(0,.9fr) minmax(280px,1fr);padding:clamp(44px,7vw,80px) clamp(20px,5vw,72px)}.store-links h3{margin-bottom:14px}.store-grid{display:grid;grid-gap:12px;gap:12px}.store-button{align-items:center;background:#0f172a;border:1px solid #0f172a;border-radius:10px;color:#fff;display:flex;font-weight:800;gap:14px;padding:14px 20px;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,background .15s ease}.store-button svg{flex:0 0 auto;height:24px;width:24px}.store-button span{font-size:1.02rem}.store-button:hover{background:#1e293b;box-shadow:0 14px 30px rgba(15,23,42,.18);transform:translateY(-2px)}.store-button.is-disabled{background:#94a3b8;border-color:#94a3b8;cursor:not-allowed;opacity:.9}.store-button.is-disabled:hover{background:#94a3b8;box-shadow:none;transform:none}.store-coming-soon{background:hsla(0,0%,100%,.22);border-radius:999px;font-size:.74rem;font-weight:700;letter-spacing:.02em;margin-left:auto;padding:3px 10px;text-transform:uppercase}.faq-section{background:#f8fafc}.faq-list{display:grid;grid-gap:14px;gap:14px;margin-top:28px}.faq-item{background:#fff;border:1px solid var(--line);border-radius:8px;padding:22px}.faq-item h3{margin-bottom:8px}.site-footer{background:var(--footer);border-top:1px solid var(--line);color:var(--ink);padding:38px clamp(20px,5vw,72px) 26px}.footer-grid{display:grid;grid-gap:30px;gap:30px;grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(126px,.55fr))}.site-footer h2{font-size:1rem;margin-bottom:12px}.site-footer a,.site-footer p{color:var(--muted)}.site-footer ul{display:grid;grid-gap:8px;gap:8px;list-style:none;margin:0;padding:0}.site-footer a{text-decoration:none}.copyright{border-top:1px solid var(--line);margin:28px 0 0;padding-top:20px;text-align:center}.legal-page{background:#fff;padding:clamp(34px,6vw,72px) clamp(18px,4vw,56px)}.legal-document{margin:0 auto;max-width:920px}.legal-document h1{font-size:clamp(2.2rem,5vw,3.8rem);line-height:1.05}.legal-document h2{border-top:1px solid var(--line);font-size:1.45rem;margin-top:34px;padding-top:28px}.legal-document h3{margin-top:24px}.legal-document a{color:var(--brand-dark);font-weight:700}.legal-document ol,.legal-document ul{padding-left:1.4rem}.tokushoho-list{border-top:1px solid var(--line);display:grid;margin:24px 0 0;padding:0}.tokushoho-row{border-bottom:1px solid var(--line);display:grid;grid-gap:4px 24px;gap:4px 24px;grid-template-columns:minmax(180px,220px) 1fr;padding:14px 0}.tokushoho-row dt{color:var(--ink);font-weight:700}.tokushoho-row dd{color:var(--ink);margin:0}@media (max-width:720px){.tokushoho-row{grid-template-columns:1fr}.tokushoho-row dt{color:#64748b;font-size:.92rem}}.info-page{background:#fff;padding:0 0 clamp(40px,6vw,80px)}.info-hero{background:linear-gradient(130deg,rgba(22,119,200,.1),transparent 42%),linear-gradient(20deg,rgba(22,160,133,.12),transparent 44%),#f8fafc;border-bottom:1px solid var(--line);padding:clamp(44px,7vw,88px) clamp(20px,5vw,72px) clamp(36px,5vw,60px)}.info-hero h1{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:14px}.info-hero .lead{margin-bottom:0}.info-body{display:grid;grid-gap:18px;gap:18px;margin:0 auto;max-width:820px;padding:clamp(32px,5vw,56px) clamp(20px,5vw,40px) 0}.contact-card,.info-callout,.info-card,.profile-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:clamp(22px,3vw,32px)}.contact-card p,.info-card p,.profile-card p{color:var(--muted)}.info-card p:last-child,.profile-card p:last-child{margin-bottom:0}.contact-card h2,.profile-card h2{font-size:1.5rem;margin-bottom:6px}.profile-card .profile-role{color:var(--brand-dark);font-weight:700;margin-bottom:12px}.contact-card .button,.profile-card .button{margin-top:8px}.info-callout{align-items:center;background:#eef6fc;border-color:#cae1f3;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.info-callout p{color:var(--brand-dark);font-weight:700;margin:0}.contact-email{color:var(--brand-dark);display:inline-block;font-size:1.15rem;font-weight:800;margin:4px 0 14px;text-decoration:none;word-break:break-all}.contact-email:hover{text-decoration:underline}.contact-note{border-top:1px solid var(--line);font-size:.95rem;margin:18px 0 0;padding-top:16px}.related-links{display:grid;grid-gap:10px;gap:10px;list-style:none;margin:16px 0 0;padding:0}.related-links a{border:1px solid var(--line);border-radius:8px;color:var(--brand-dark);display:block;font-weight:700;padding:12px 16px;text-decoration:none;transition:background .15s ease,border-color .15s ease}.related-links a:hover{background:#eef6fc;border-color:#cae1f3}.sr-only{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pricing-body{margin:0 auto;max-width:940px;padding:clamp(32px,5vw,56px) clamp(20px,5vw,40px) 0}.pricing-body,.pricing-grid{display:grid;grid-gap:18px;gap:18px}.pricing-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-card{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;flex-direction:column;padding:clamp(24px,3vw,34px);position:relative}.pricing-card.featured{border-color:var(--brand);box-shadow:0 20px 48px rgba(22,119,200,.16)}.pricing-card h2{font-size:1.5rem;margin-bottom:6px}.pricing-tagline{color:var(--muted);margin-bottom:18px;min-height:3em}.pricing-amount{border-top:1px solid var(--line);padding-top:18px}.pricing-amount strong{color:var(--ink);display:block;font-size:2.2rem;line-height:1.1}.pricing-amount strong small{color:var(--muted);font-size:.95rem;font-weight:700}.pricing-amount span{color:var(--muted);display:block;font-size:.9rem;margin-top:6px}.pricing-cta-row{display:flex;justify-content:center;margin:6px 0 4px}.pricing-cta-row .button{font-size:1.05rem;min-width:240px;padding:15px 32px}.pricing-points{border-top:1px solid var(--line);display:grid;grid-gap:0;gap:0;margin:18px 0 0;padding:6px 0 0}.pricing-points>div{border-bottom:1px solid var(--line);padding:14px 0}.pricing-points>div:last-child{border-bottom:0;padding-bottom:0}.pricing-points dt{color:var(--muted);font-size:.82rem;font-weight:800;letter-spacing:.02em;margin-bottom:4px;text-transform:uppercase}.pricing-points dd{color:var(--ink);font-size:1rem;font-weight:700;margin:0}.pricing-notes{color:var(--muted);display:grid;grid-gap:10px;gap:10px;margin:16px 0 0;padding-left:1.2rem}@media (max-width:720px){.pricing-grid{grid-template-columns:1fr}}.maintenance-page{align-items:center;background:#101827;color:#fff;display:flex;justify-content:center;min-height:calc(100vh - 68px);padding:clamp(40px,8vw,96px) clamp(20px,5vw,72px)}.maintenance-panel{max-width:680px;text-align:center}.maintenance-panel h1{font-size:clamp(2.2rem,6vw,4rem);line-height:1.05}.maintenance-panel p{color:#d8e0e8;font-size:1.05rem}.maintenance-note{border-top:1px solid hsla(0,0%,100%,.18);margin-top:26px;padding-top:22px}.maintenance-note p{color:#b8c5d6;font-size:.95rem;margin-bottom:6px}@media (max-width:1024px){.footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-grid>:first-child{grid-column:1/-1}}@media (max-width:900px){.site-header{align-items:flex-start;flex-direction:column}.header-nav{justify-content:flex-start}.app-panel,.footer-grid,.hero{grid-template-columns:1fr}.hero{min-height:auto}.hero-media{min-height:360px}.feature-grid,.hero-stats{grid-template-columns:1fr}}@media (max-width:520px){.header-nav a{font-size:.9rem}.button{width:100%}.brand-logo{width:180px}h1{font-size:clamp(2.35rem,14vw,3.5rem)}}