:root{--color-primary: #1e40af;--color-primary-dark: #1e3a8a;--color-secondary: #0ea5e9;--color-accent: #f59e0b;--color-text-main: #111827;--color-text-muted: #4b5563;--color-text-light: #ffffff;--color-bg-main: #ffffff;--color-bg-alt: #f3f4f6;--color-bg-dark: #1f2937;--color-border: #e5e7eb}.animate-fade-up,.animate-slide-left,.animate-slide-right,.animate-scale-up{opacity:0;transition:opacity .8s cubic-bezier(.16,1,.3,1),transform .8s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.animate-fade-up{transform:translateY(30px)}.animate-slide-left{transform:translate(-40px)}.animate-slide-right{transform:translate(40px)}.animate-scale-up{transform:scale(.95)}.is-visible{opacity:1;transform:translate(0) scale(1)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.delay-600{transition-delay:.6s}.delay-700{transition-delay:.7s}.delay-800{transition-delay:.8s}.delay-900{transition-delay:.9s}.delay-1000{transition-delay:1s}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0;font:inherit}html{color-scheme:light dark;scroll-behavior:smooth}body{min-height:100vh}img,picture,svg,video{display:block;max-width:100%}ul,ol{list-style:none}a{text-decoration:none;color:inherit}body{font-family:Inter,Noto Sans JP,sans-serif;color:var(--color-text-main);line-height:1.7;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.15;margin-bottom:1rem;letter-spacing:-.02em}h1{font-size:3rem}@media (min-width: 768px){h1{font-size:4.5rem}}h2{font-size:2.25rem}@media (min-width: 768px){h2{font-size:3rem}}h3{font-size:1.5rem}@media (min-width: 768px){h3{font-size:1.875rem}}p{margin-bottom:1rem;color:var(--color-text-muted)}.text-primary{color:var(--color-primary)}.content-formatted{line-height:1.8;color:var(--color-text-main)}.content-formatted h2{font-size:1.75rem;margin-top:2.5rem;margin-bottom:1rem;border-bottom:2px solid var(--color-border);padding-bottom:.5rem}.content-formatted h3{font-size:1.25rem;margin-top:2rem;margin-bottom:.75rem}.content-formatted p{margin-bottom:1rem}.content-formatted ul,.content-formatted ol{margin-bottom:1.5rem;padding-left:1.5rem}.content-formatted ul{list-style-type:disc}.content-formatted ul li{margin-bottom:.5rem}.content-formatted ol{list-style-type:decimal}.content-formatted ol li{margin-bottom:.5rem}body{background-color:var(--color-bg-main);display:flex;flex-direction:column}.main{flex:1}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1rem;padding-right:1rem}@media (min-width: 640px){.container{max-width:640px}}@media (min-width: 768px){.container{max-width:768px}}@media (min-width: 1024px){.container{max-width:1024px}}@media (min-width: 1280px){.container{max-width:1280px}}.text-center{text-align:center}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.section{padding-top:4rem;padding-bottom:4rem}@media (min-width: 768px){.section{padding-top:6rem;padding-bottom:6rem}}.section--alt{background-color:var(--color-bg-alt)}.btn{display:inline-flex;align-items:center;justify-content:center;font-weight:600;border-radius:9999px;transition:all .2s ease-in-out;cursor:pointer;text-align:center;border:2px solid transparent}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.btn--primary{background-color:var(--color-primary);color:var(--color-text-light)}.btn--primary:hover{background-color:var(--color-primary-dark)}.btn--outline{background-color:transparent;border-color:var(--color-primary);color:var(--color-primary)}.btn--outline:hover{background-color:#1e40af0d;color:var(--color-primary-dark)}.btn--sm{padding:.5rem 1rem;font-size:.875rem}.btn--md{padding:.75rem 1.5rem;font-size:1rem}.btn--lg{padding:1rem 2rem;font-size:1.125rem}.header{position:sticky;top:0;z-index:50;background-color:#ffffffe6;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border);padding-top:1rem;padding-bottom:1rem}.header__inner{display:flex;justify-content:space-between;align-items:center}.header__logo{font-size:1.5rem;font-weight:700;color:var(--color-text-main);display:flex;align-items:center;gap:.5rem}.header__logo .logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header__logo-img{height:48px;width:auto;max-width:200px;display:block}.header__nav{display:none}@media (min-width: 768px){.header__nav{display:block}}.header__nav .nav-list{display:flex;align-items:center;gap:2rem;font-weight:500;font-size:.95rem}.header__nav .nav-list a{color:var(--color-text-main);transition:color .2s}.header__nav .nav-list a:hover{color:var(--color-primary)}.header__nav .nav-list a.btn{color:var(--color-text-light)}.header__nav .nav-list a.btn:hover{color:var(--color-text-light);background-color:var(--color-primary-dark)}.footer{background-color:var(--color-bg-dark);color:#d1d5db;padding-top:4rem;padding-bottom:2rem}.footer__inner{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.footer__inner{grid-template-columns:2fr 1fr 1fr;gap:3rem}}.footer__brand p{color:var(--color-text-light)}.footer__brand .footer__logo-img{height:40px;width:auto;max-width:180px;margin-bottom:1rem;filter:brightness(0) invert(1);display:block;background:transparent;object-fit:contain;border:none;outline:none}.footer__info p{color:#9ca3af}.footer__logo{display:block;font-size:1.75rem;font-weight:700;color:var(--color-text-light);margin-bottom:1.5rem;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.footer__column ul{display:flex;flex-direction:column;gap:1rem}.footer__column a{transition:color .2s}.footer__column a:hover{color:var(--color-text-light)}.footer__title{color:var(--color-text-light);font-size:1.125rem;margin-bottom:1.5rem}.footer__bottom{margin-top:3rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1);text-align:center;color:#6b7280;font-size:.875rem}.footer__bottom p{margin-bottom:0;color:inherit}.card{background-color:var(--color-bg-main);border:1px solid var(--color-border);border-radius:1.5rem;box-shadow:0 1px 2px #0000000d;transition:transform .3s ease,box-shadow .3s ease}.card:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.card{position:relative;overflow:hidden;z-index:1;display:flex;flex-direction:column}.card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background-color:var(--color-primary);opacity:0;transition:opacity .3s ease;z-index:2}.card:hover:before{opacity:1}.card:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-color:var(--color-border)}.card__image{width:100%;height:200px;background-color:var(--color-bg-alt);border-bottom:1px solid var(--color-border);overflow:hidden}.card__image img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.card__body{padding:2rem;flex-grow:1;display:flex;flex-direction:column}.card__category{font-size:.875rem;font-weight:700;color:var(--color-primary);margin-bottom:.5rem;letter-spacing:.05em}.card__title{font-size:1.5rem;margin-bottom:1rem;line-height:1.3}.card__desc{color:var(--color-text-muted);margin-bottom:1.5rem;line-height:1.6}.card__features{margin-bottom:2rem;flex-grow:1}.card__features li{display:flex;align-items:flex-start;margin-bottom:.75rem;color:var(--color-text-muted);font-size:.95rem}.card__features li:before{content:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" fill="%2310b981"><path fill-rule="evenodd" d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z" clip-rule="evenodd" /></svg>');display:inline-block;width:1.25rem;height:1.25rem;margin-right:.5rem;flex-shrink:0;opacity:.8}.card__actions{display:flex;gap:1rem}@media (max-width: 639px){.card__actions{flex-direction:column}}.card__actions .btn{flex:1}.grid-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}@media (min-width: 768px){.grid-cards{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:2rem}}.hero{padding-top:6rem;padding-bottom:8rem;background-color:var(--color-bg-alt);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-image:radial-gradient(var(--color-border) 1px,transparent 1px);background-size:24px 24px;opacity:.5;z-index:0}.hero__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;max-width:900px;margin:0 auto}.hero__title{margin-bottom:1.5rem;line-height:1.1}.hero__lead{font-size:1.125rem;margin-bottom:3rem;max-width:700px;margin-left:auto;margin-right:auto;color:var(--color-text-muted)}@media (min-width: 768px){.hero__lead{font-size:1.35rem}}.hero__actions{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:450px;margin:0 auto}@media (min-width: 640px){.hero__actions{flex-direction:row;justify-content:center;max-width:none}}.section{position:relative;z-index:1}.section--alt{background-color:var(--color-bg-alt);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.grid-features{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.grid-features{grid-template-columns:repeat(3,1fr)}}.grid-features .feature-item{text-align:center;padding:1.5rem}.grid-features .feature-item__icon{width:4rem;height:4rem;margin:0 auto 1.5rem;border-radius:50%;background:#1e40af1a;color:var(--color-primary);display:flex;align-items:center;justify-content:center;font-size:1.5rem}.grid-features .feature-item__icon svg{width:2rem;height:2rem}.steps-list{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width: 768px){.steps-list{grid-template-columns:repeat(3,1fr);position:relative}.steps-list:before{content:"";position:absolute;top:2rem;left:10%;right:10%;height:2px;background:var(--color-border);z-index:-1}}.steps-list .step-item{text-align:center;position:relative;z-index:1}.steps-list .step-item__number{width:4rem;height:4rem;margin:0 auto 1.5rem;background:var(--color-bg-main);border:2px solid var(--color-primary);color:var(--color-primary);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;box-shadow:0 0 0 8px var(--color-bg-alt)}
