:root{--color-primary: #1e3a5f;--color-primary-pressed: #17304f;--color-accent: #2e7d5b;--color-accent-pressed: #256449;--color-warning: #b7791f;--color-error: #d64045;--color-bg: #f7f9fb;--color-surface: #ffffff;--color-border: #e5e7eb;--color-text: #1f2933;--color-text-secondary: #667085;--color-text-inverted: #ffffff;--color-link: var(--color-primary);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-xxl: 48px;--space-xxxl: 72px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(30, 58, 95, .06), 0 1px 3px rgba(30, 58, 95, .04);--shadow-md: 0 4px 12px rgba(30, 58, 95, .08), 0 2px 4px rgba(30, 58, 95, .04);--shadow-lg: 0 12px 32px rgba(30, 58, 95, .12), 0 4px 8px rgba(30, 58, 95, .06);--max-width: 1120px;--header-height: 64px;--font-sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "游ゴシック Medium", "Yu Gothic Medium", "Noto Sans JP", "Segoe UI", sans-serif;--font-size-base: 17px;--line-height-base: 1.75}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--header-height) + var(--space-md))}body{font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg{max-width:100%;height:auto;display:block}a{color:var(--color-link);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-pressed);text-decoration:underline}ul,ol{list-style:none}button{font-family:inherit;cursor:pointer}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding-left:var(--space-md);padding-right:var(--space-md)}.section{padding-top:var(--space-xxxl);padding-bottom:var(--space-xxxl)}.section--tight{padding-top:var(--space-xxl);padding-bottom:var(--space-xxl)}.section--alt{background-color:var(--color-surface)}.h1,h1{font-size:clamp(1.75rem,4.5vw,2.5rem);line-height:1.4;font-weight:700;color:var(--color-primary);letter-spacing:-.01em}.h2,h2{font-size:clamp(1.5rem,3.5vw,2rem);line-height:1.45;font-weight:700;color:var(--color-primary);margin-bottom:var(--space-md)}.h3,h3{font-size:clamp(1.2rem,2.5vw,1.4rem);line-height:1.5;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.h4,h4{font-size:1.1rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}p{margin-bottom:var(--space-md)}p:last-child{margin-bottom:0}.lead{font-size:1.1rem;color:var(--color-text-secondary);line-height:1.8}.eyebrow{display:inline-block;font-size:.85rem;font-weight:600;letter-spacing:.08em;color:var(--color-accent);text-transform:uppercase;margin-bottom:var(--space-sm)}.text-center{text-align:center}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);min-height:56px;padding:0 var(--space-lg);font-size:1.05rem;font-weight:600;border:none;border-radius:var(--radius-md);transition:background .2s,transform .1s,box-shadow .2s;text-decoration:none}.btn:hover{text-decoration:none}.btn-primary{background-color:var(--color-primary);color:var(--color-text-inverted)}.btn-primary:hover{background-color:var(--color-primary-pressed);color:var(--color-text-inverted);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-accent{background-color:var(--color-accent);color:var(--color-text-inverted)}.btn-accent:hover{background-color:var(--color-accent-pressed);color:var(--color-text-inverted);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background-color:var(--color-surface);color:var(--color-primary);border:1.5px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary-pressed)}.btn-lg{min-height:64px;font-size:1.15rem;padding:0 var(--space-xl)}.card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-sm)}.card--padded{padding:var(--space-xl)}.grid{display:grid;gap:var(--space-lg)}.grid--2{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.grid--3{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.grid--4{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.disclaimer{background-color:#fffbeb;border:1px solid #fde68a;border-left:4px solid var(--color-warning);border-radius:var(--radius-md);padding:var(--space-lg);color:var(--color-text);font-size:.95rem;line-height:1.7}.disclaimer p{margin-bottom:var(--space-sm)}.disclaimer p:last-child{margin-bottom:0}.disclaimer--info{background-color:#f0f7ff;border-color:#bfdbfe;border-left-color:var(--color-primary)}.disclaimer__title{font-weight:700;color:var(--color-warning);margin-bottom:var(--space-sm);display:flex;align-items:center;gap:var(--space-sm)}.disclaimer--info .disclaimer__title{color:var(--color-primary)}.faq-item{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);margin-bottom:var(--space-md);overflow:hidden;transition:box-shadow .2s,border-color .2s}.faq-item[open]{border-color:var(--color-primary);box-shadow:var(--shadow-sm)}.faq-item summary{padding:var(--space-lg);font-weight:600;font-size:1.05rem;color:var(--color-text);cursor:pointer;list-style:none;position:relative;padding-right:56px;transition:background .2s}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";position:absolute;right:var(--space-lg);top:50%;transform:translateY(-50%);font-size:1.5rem;font-weight:300;color:var(--color-primary);transition:transform .2s}.faq-item[open] summary:after{content:"−"}.faq-item summary:hover{background-color:var(--color-bg)}.faq-item__answer{padding:0 var(--space-lg) var(--space-lg);color:var(--color-text-secondary);line-height:1.8}.faq-item__answer p{margin-bottom:var(--space-sm)}.breadcrumbs{font-size:.9rem;color:var(--color-text-secondary);padding:var(--space-md) 0}.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:var(--space-sm);align-items:center}.breadcrumbs li{display:flex;align-items:center;gap:var(--space-sm)}.breadcrumbs li:not(:last-child):after{content:"›";color:var(--color-border);font-size:1.1rem}.breadcrumbs a{color:var(--color-text-secondary)}.breadcrumbs a:hover{color:var(--color-primary)}.breadcrumbs [aria-current=page]{color:var(--color-text);font-weight:500}.legal-body{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.legal-body h2{margin-top:var(--space-xl);margin-bottom:var(--space-md)}.legal-body h2:first-child{margin-top:0}.legal-body h3{margin-top:var(--space-lg)}.legal-body ul{list-style:disc;padding-left:1.5em;margin-bottom:var(--space-md)}.legal-body ul li{margin-bottom:var(--space-sm);line-height:1.8}.legal-body strong{color:var(--color-primary)}.article-body{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:var(--shadow-sm)}.article-body h2{margin-top:var(--space-xxl);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:2px solid var(--color-border)}.article-body h2:first-child{margin-top:0}.article-body h3{margin-top:var(--space-xl)}.article-body p,.article-body li{line-height:1.85}.article-body ul{list-style:disc;padding-left:1.5em;margin-bottom:var(--space-md)}.article-body ul li{margin-bottom:var(--space-sm)}.article-body strong{color:var(--color-primary)}.contact-form{margin-top:var(--space-lg)}.form-group{margin-bottom:var(--space-lg)}.form-group label{display:block;font-size:.95rem;font-weight:600;color:var(--color-text);margin-bottom:var(--space-sm)}.form-group .label-icon{margin-right:6px}.form-group input,.form-group select,.form-group textarea{width:100%;padding:14px var(--space-md);font-size:1rem;border:1px solid var(--color-border);border-radius:var(--radius-md);background-color:var(--color-bg);color:var(--color-text);font-family:inherit;transition:border-color .2s,background .2s,box-shadow .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);background-color:var(--color-surface);box-shadow:0 0 0 3px #1e3a5f1a}.form-group textarea{resize:vertical;min-height:140px;line-height:1.7}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23667085' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-md) center;padding-right:40px}.submit-button{width:100%;min-height:60px;padding:var(--space-md) var(--space-lg);font-size:1.05rem;font-weight:600;color:var(--color-text-inverted);background-color:var(--color-primary);border:none;border-radius:var(--radius-md);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);transition:background .2s,transform .1s,box-shadow .2s}.submit-button:hover:not(:disabled){background-color:var(--color-primary-pressed);transform:translateY(-1px);box-shadow:var(--shadow-md)}.submit-button:disabled{opacity:.6;cursor:not-allowed}.button-loading{display:inline-flex;align-items:center;gap:var(--space-sm)}.spinner{width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.form-error,.form-success{border-radius:var(--radius-md);padding:var(--space-lg);margin-bottom:var(--space-lg)}.form-error{display:flex;align-items:flex-start;gap:var(--space-md);background-color:#fef2f2;border:1px solid #fecaca}.form-error .error-icon{font-size:1.25rem;flex-shrink:0}.form-error .error-message{color:#dc2626;font-size:.95rem}.form-success{text-align:center;background-color:#f0fdf4;border:1px solid #bbf7d0}.form-success .success-icon{font-size:3rem;display:block;margin-bottom:var(--space-md)}.form-success .success-content h3{font-size:1.25rem;font-weight:600;color:#166534;margin-bottom:var(--space-sm)}.form-success .success-content p{color:#15803d;font-size:.95rem;line-height:1.7}.contact-turnstile{margin:var(--space-lg) 0;min-height:65px}.appstore-button{display:inline-flex;align-items:center;gap:var(--space-md);background-color:#000;color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);text-decoration:none;transition:opacity .2s,transform .1s;min-height:56px;font-weight:600}.appstore-button:hover{color:#fff;text-decoration:none;opacity:.85;transform:translateY(-1px)}.appstore-button__icon{font-size:2rem;line-height:1}.appstore-button__text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.appstore-button__small{font-size:.7rem;font-weight:400;opacity:.85}.appstore-button__large{font-size:1.2rem;font-weight:600}.comparison-table{width:100%;border-collapse:collapse;background-color:var(--color-surface);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--color-border)}.comparison-table th,.comparison-table td{padding:var(--space-md);text-align:left;border-bottom:1px solid var(--color-border)}.comparison-table thead th{background-color:var(--color-primary);color:var(--color-text-inverted);font-weight:600;font-size:1rem}.comparison-table tbody tr:last-child td{border-bottom:none}.comparison-table tbody tr:nth-child(2n){background-color:var(--color-bg)}.comparison-table td:first-child{font-weight:600;color:var(--color-text);width:40%}.comparison-table .col-pro{color:var(--color-accent);font-weight:600}.steps{counter-reset:step;display:grid;gap:var(--space-lg)}@media(min-width:640px){.steps{grid-template-columns:repeat(2,1fr)}}@media(min-width:900px){.steps{grid-template-columns:repeat(4,1fr)}}.step-card{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);position:relative;box-shadow:var(--shadow-sm)}.step-card__number{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background-color:var(--color-primary);color:var(--color-text-inverted);font-weight:700;font-size:1.1rem;margin-bottom:var(--space-md)}.step-card h3{margin-bottom:var(--space-sm)}.step-card p{color:var(--color-text-secondary);font-size:.95rem;line-height:1.7}.check-list li{position:relative;padding-left:32px;margin-bottom:var(--space-md);line-height:1.7}.check-list li:before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background-color:var(--color-accent);color:#fff;font-size:.8rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.hero{background:linear-gradient(135deg,#1e3a5f,#2e7d5b);color:var(--color-text-inverted);padding:calc(var(--space-xxxl) + var(--header-height)) 0 var(--space-xxxl);text-align:center}.hero h1{color:var(--color-text-inverted);margin-bottom:var(--space-lg)}.hero .lead{color:#ffffffeb;max-width:720px;margin:0 auto var(--space-xl);font-size:1.15rem}.hero .disclaimer{background-color:#ffffff1f;border-color:#ffffff40;border-left-color:#ffffffb3;color:#fffffff2;max-width:720px;margin:var(--space-xl) auto 0;text-align:left}.site-header{position:sticky;top:0;z-index:100;height:var(--header-height);background-color:#fffffff2;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--color-border)}.site-header__inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--space-md)}.site-header__brand{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;color:var(--color-primary);font-size:1.05rem;text-decoration:none}.site-header__brand:hover{text-decoration:none;color:var(--color-primary-pressed)}.site-header__brand-icon{width:32px;height:32px;border-radius:var(--radius-sm);object-fit:cover;flex-shrink:0}.site-header__nav{display:none;align-items:center;gap:var(--space-md)}.site-header__nav a{color:var(--color-text);font-size:.95rem;font-weight:500;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);transition:background .2s,color .2s}.site-header__nav a:hover{background-color:var(--color-bg);color:var(--color-primary);text-decoration:none}.site-header__cta{display:none}@media(min-width:900px){.site-header__nav{display:flex}.site-header__cta{display:inline-flex}.site-header__menu-toggle{display:none}}.site-header__menu-toggle{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:1.25rem;color:var(--color-primary);line-height:1}.mobile-menu{display:none;position:fixed;top:var(--header-height);left:0;right:0;bottom:0;background-color:var(--color-surface);padding:var(--space-lg);z-index:99;overflow-y:auto}.mobile-menu.is-open{display:block}.mobile-menu a{display:block;padding:var(--space-md);border-bottom:1px solid var(--color-border);color:var(--color-text);font-weight:500}.mobile-menu a:hover{text-decoration:none;background-color:var(--color-bg)}.site-footer{background-color:var(--color-primary);color:#ffffffd9;padding:var(--space-xxl) 0 var(--space-xl);margin-top:var(--space-xxxl)}.site-footer__links{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.site-footer__links a{color:#ffffffd9;font-size:.95rem;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background .2s,color .2s}.site-footer__links a:hover{background-color:#ffffff1a;color:#fff;text-decoration:none}.site-footer__copyright{font-size:.85rem;color:#ffffffb3;text-align:center}.site-footer__disclaimer{font-size:.85rem;color:#ffffffb3;text-align:center;margin-top:var(--space-md);max-width:720px;margin-left:auto;margin-right:auto}.not-found{text-align:center;padding:calc(var(--space-xxxl) + var(--header-height)) 0}.not-found__code{font-size:5rem;font-weight:700;color:var(--color-primary);line-height:1;margin-bottom:var(--space-md)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.badge{display:inline-block;font-size:.8rem;font-weight:600;padding:4px 10px;border-radius:999px;background-color:#2e7d5b1f;color:var(--color-accent)}.badge--primary{background-color:#1e3a5f1a;color:var(--color-primary)}
