@keyframes toastSlideIn{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes toastSlideOut{from{transform:translateY(0);opacity:1}to{transform:translateY(20px);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes wizardFadeIn{from{opacity:0;transform:translateX(10px)}to{opacity:1;transform:translateX(0)}}.privacyPage{min-height:100vh;background:linear-gradient(180deg, #0a0e17 0%, #070a10 100%);color:rgba(248,250,252,.92);padding:48px 5% 48px}.privacy{max-width:1200px;margin:0 auto;padding-top:48px;padding-bottom:48px}@media(max-width: 768px){.privacy{padding-top:32px;padding-bottom:120px}}.privacyMainContent{display:flex;flex-direction:column;gap:24px}.privacy__hero{position:relative;background:linear-gradient(135deg, rgba(139, 92, 246, 0.12) 0%, rgba(139, 92, 246, 0.02) 100%);border:1px solid rgba(139,92,246,.2);border-radius:16px;padding:48px 32px 32px;overflow:hidden}@media(max-width: 768px){.privacy__hero{padding:32px 16px 24px;border-radius:12px}}.privacy__heroGlow{position:absolute;top:-80px;right:-80px;width:280px;height:280px;background:radial-gradient(circle, rgba(139, 92, 246, 0.35) 0%, transparent 65%);pointer-events:none;animation:privHeroGlow 10s ease-in-out infinite;filter:blur(40px)}@keyframes privHeroGlow{0%,100%{opacity:.3;transform:scale(1) translate(0, 0)}50%{opacity:.4;transform:scale(1.1) translate(-10px, 10px)}}.privacy__heroContainer{position:relative;z-index:1}.privacy__heroContent{max-width:680px}.privacy__heroBadge{display:inline-flex;align-items:center;gap:8px;background:rgba(139,92,246,.12);color:#a78bfa;font-size:1.3rem;font-weight:600;padding:8px 16px;border-radius:24px;margin-bottom:16px;border:1px solid rgba(139,92,246,.2);animation:privBadgePulse 4s ease-in-out infinite}@keyframes privBadgePulse{0%,100%{box-shadow:0 0 0 0 rgba(139,92,246,.15)}50%{box-shadow:0 0 0 6px rgba(139,92,246,0)}}.privacy__heroTitle{font-size:clamp(1.875rem,4.5vw,2.5rem);font-weight:800;margin:0 0 16px;color:rgba(248,250,252,.92);line-height:1.25;letter-spacing:-0.02em}.privacy__heroTitleAccent{background:linear-gradient(135deg, #8b5cf6 0%, #a78bfa 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.privacy__heroSubtitle{font-size:1.4rem;color:rgba(248,250,252,.68);margin:0 0 24px;line-height:1.65}@media(max-width: 600px){.privacy__heroBreak{display:none}}.privacy__heroFeatures{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:8px 24px}.privacy__heroFeatures li{display:flex;align-items:center;gap:8px;font-size:1.35rem;color:rgba(248,250,252,.92)}.privacy__heroFeatures li svg{color:#8b5cf6;flex-shrink:0}.privacy__heroDisclaimer{display:block;font-size:1.25rem;color:rgba(251,191,36,.9);margin:24px 0 0;padding:12px 16px;background:rgba(251,191,36,.08);border:1px solid rgba(251,191,36,.15);border-radius:8px;line-height:1.5}.privacy__heroAd{margin-top:8px}.privacyBuilder{background:#101620;border:1px solid rgba(148,163,184,.4);border-radius:12px;overflow:hidden}.privacyBuilder__content{display:grid;grid-template-columns:1fr}@media(min-width: 1024px){.privacyBuilder__content{grid-template-columns:1fr 1fr}}.privacyBuilder__inputArea{padding:24px;border-bottom:1px solid rgba(148,163,184,.4)}@media(min-width: 1024px){.privacyBuilder__inputArea{border-bottom:none;border-right:1px solid rgba(148,163,184,.4)}}.privacyBuilder__section{padding-top:24px}.privacyBuilder__section:first-child{padding-top:0}.privacyBuilder__sectionTitle{font-size:1.4rem;font-weight:600;color:rgba(248,250,252,.92);margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.4)}.privacyBuilder__sectionDesc{font-size:1.3rem;color:rgba(248,250,252,.52);margin:-8px 0 12px;line-height:1.5}.privacyBuilder__dl{display:flex;flex-direction:column;gap:16px;margin:0}.privacyBuilder__row{display:flex;flex-direction:column;gap:4px}.privacyBuilder__dt{margin:0}.privacyBuilder__dt_required .privacyBuilder__label::after{content:"必須";margin-left:8px;font-size:1.1rem;font-weight:600;color:#fff;background:#f87171;padding:2px 6px;border-radius:3px}.privacyBuilder__dd{margin:0}.privacyBuilder__label{display:flex;align-items:center;gap:8px;font-size:1.4rem;font-weight:500;color:rgba(248,250,252,.92);cursor:pointer;line-height:1.5}.privacyBuilder__input,.privacyBuilder__textarea{width:100%;padding:10px 12px;background:rgba(10,14,23,.6);border:1px solid rgba(148,163,184,.4);border-radius:6px;color:rgba(248,250,252,.92);font-size:1.4rem;line-height:1.5;transition:border-color 120ms cubic-bezier(0.22, 1, 0.36, 1),box-shadow 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyBuilder__input::-moz-placeholder, .privacyBuilder__textarea::-moz-placeholder{color:rgba(248,250,252,.52)}.privacyBuilder__input::placeholder,.privacyBuilder__textarea::placeholder{color:rgba(248,250,252,.52)}.privacyBuilder__input:hover,.privacyBuilder__textarea:hover{border-color:rgba(148,163,184,.6)}.privacyBuilder__input:focus,.privacyBuilder__textarea:focus{outline:none;border-color:#8b5cf6;box-shadow:0 0 0 3px rgba(139,92,246,.15)}.privacyBuilder__input:focus-visible,.privacyBuilder__textarea:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__textarea{min-height:64px;resize:vertical}.privacyBuilder__hint{font-size:1.3rem;color:rgba(248,250,252,.52);margin:4px 0 0;line-height:1.45}.privacyBuilder__error{font-size:1.3rem;color:#f87171;min-height:0}.privacyBuilder__detailsSection{margin-top:8px;padding:12px;background:rgba(0,0,0,.25);border-radius:6px}.privacyBuilder__accordion{margin-top:24px;border:1px solid rgba(148,163,184,.4);border-radius:8px;background:rgba(0,0,0,.12)}.privacyBuilder__accordionSummary{display:flex;align-items:center;gap:12px;padding:14px 16px;cursor:pointer;list-style:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:background 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyBuilder__accordionSummary::-webkit-details-marker{display:none}.privacyBuilder__accordionSummary:hover{background:rgba(139,92,246,.04)}.privacyBuilder__accordionSummary:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__accordionTitle{font-size:1.4rem;font-weight:600;color:rgba(248,250,252,.92)}.privacyBuilder__accordionHint{font-size:1.3rem;color:rgba(248,250,252,.52)}.privacyBuilder__accordionCount{display:inline-flex;align-items:center;padding:2px 8px;background:rgba(139,92,246,.12);color:#a78bfa;border-radius:24px;font-size:1.2rem;font-weight:600;margin-left:auto}.privacyBuilder__accordionCount:empty{display:none}.privacyBuilder__accordionIcon{color:rgba(248,250,252,.52);transition:transform 200ms cubic-bezier(0.22, 1, 0.36, 1);flex-shrink:0}.privacyBuilder__accordion[open] .privacyBuilder__accordionIcon{transform:rotate(180deg)}.privacyBuilder__accordionContent{padding:0 16px 16px;border-top:1px solid rgba(148,163,184,.4)}.privacyBuilder__accordionContent .privacyBuilder__section:first-child{padding-top:16px}.privacyBuilder__checkboxGroup{display:grid;grid-template-columns:repeat(auto-fill, minmax(160px, 1fr));gap:8px}.privacyBuilder__checkboxLabel{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(0,0,0,.2);border:1px solid rgba(0,0,0,0);border-radius:6px;font-size:1.4rem;color:rgba(248,250,252,.92);cursor:pointer;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyBuilder__checkboxLabel:hover{border-color:rgba(148,163,184,.6);transform:translateY(-1px)}.privacyBuilder__checkboxLabel:has(input:checked){border-color:#8b5cf6;background:rgba(139,92,246,.08)}.privacyBuilder__checkboxLabel:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__checkbox{width:16px;height:16px;accent-color:#8b5cf6;cursor:pointer;flex-shrink:0}.privacyBuilder__checkbox:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__resultArea{padding:24px;display:flex;flex-direction:column;background:rgba(0,0,0,.08)}.privacyBuilder__resultHeader{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.4)}.privacyBuilder__resultTitle{font-size:1.4rem;font-weight:600;color:rgba(248,250,252,.92);margin:0}.privacyBuilder__resultStatus{display:flex;align-items:center;gap:6px;font-size:1.3rem;color:rgba(248,250,252,.52)}.privacyBuilder__statusIcon{font-size:1.2rem}.privacyBuilder__previewWrapper{flex:1;min-height:400px;background:rgba(100,116,139,.08);border-radius:8px;padding:12px}.privacyBuilder__preview{background:#fff;color:#1f2937;border-radius:4px;padding:24px 20px;min-height:100%;font-size:14px;line-height:1.7;box-shadow:0 1px 3px rgba(0,0,0,.06)}.privacyBuilder__preview h1,.privacyBuilder__preview h2,.privacyBuilder__preview h3{color:#111827}.privacyBuilder__preview a{color:#2563eb}.privacyBuilder__preview h1{font-size:20px;margin-bottom:16px}.privacyBuilder__preview h2{font-size:16px;margin:20px 0 8px}.privacyBuilder__preview p,.privacyBuilder__preview li{font-size:14px;line-height:1.7;margin-bottom:8px}.privacyBuilder__preview ul,.privacyBuilder__preview ol{padding-left:20px;margin-bottom:12px}.privacyBuilder__guide{padding:16px;color:#374151}.privacyBuilder__guideChecklist{margin-bottom:20px}.privacyBuilder__guideLabel{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;margin:0 0 10px}.privacyBuilder__guideItems{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:6px}.privacyBuilder__guideItem{display:flex;align-items:center;gap:4px;padding:6px 10px;background:#f3f4f6;border-radius:4px;font-size:13px;color:#6b7280}.privacyBuilder__guideItem[data-filled=true]{color:#059669}.privacyBuilder__guideItem[data-filled=true] .privacyBuilder__guideStatus{color:#059669}.privacyBuilder__guideStatus{font-size:12px;color:#9ca3af}.privacyBuilder__guideActions{padding-top:16px;border-top:1px solid #e5e7eb}.privacyBuilder__guideFeatures{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.privacyBuilder__guideFeatures li{font-size:12px;color:#9ca3af;padding-left:12px;position:relative}.privacyBuilder__guideFeatures li::before{content:"";position:absolute;left:0;top:6px;width:4px;height:4px;background:#d1d5db;border-radius:50%}.privacyBuilder__resultActions{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;padding-top:16px;border-top:1px solid rgba(148,163,184,.4)}.privacyBuilder__actionButton{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;min-height:44px;background:rgba(0,0,0,0);color:rgba(248,250,252,.68);border:1px solid rgba(148,163,184,.4);border-radius:6px;font-size:1.3rem;font-weight:500;cursor:pointer;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyBuilder__actionButton:hover{color:rgba(248,250,252,.92);border-color:rgba(148,163,184,.6);background:rgba(255,255,255,.03);transform:translateY(-2px)}.privacyBuilder__actionButton:active{transform:translateY(0)}.privacyBuilder__actionButton:disabled{opacity:.4;cursor:not-allowed;transform:none}.privacyBuilder__actionButton:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__footer{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:rgba(0,0,0,.2);border-top:1px solid rgba(148,163,184,.4)}.privacyBuilder__footerLeft{display:flex;gap:12px}.privacyBuilder__clearButton,.privacyBuilder__shareButton{display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;min-height:40px;background:rgba(0,0,0,0);color:rgba(248,250,252,.68);border:1px solid rgba(148,163,184,.4);border-radius:6px;font-size:1.4rem;font-weight:500;cursor:pointer;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyBuilder__clearButton:hover,.privacyBuilder__shareButton:hover{color:rgba(248,250,252,.92);border-color:rgba(148,163,184,.6);transform:translateY(-2px)}.privacyBuilder__clearButton:active,.privacyBuilder__shareButton:active{transform:translateY(0)}.privacyBuilder__clearButton:focus-visible,.privacyBuilder__shareButton:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyBuilder__generateButton{display:inline-flex;align-items:center;justify-content:center;padding:10px 24px;min-height:40px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:1.4rem;font-weight:600;cursor:pointer;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1);box-shadow:0 2px 8px rgba(139,92,246,.25)}.privacyBuilder__generateButton:hover{background:#9c74f7;transform:translateY(-2px);box-shadow:0 4px 16px rgba(139,92,246,.35)}.privacyBuilder__generateButton:active{transform:translateY(0);box-shadow:0 2px 8px rgba(139,92,246,.25)}.privacyBuilder__generateButton:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.privacyBuilder__generateButton:focus-visible{outline:2px solid #fff;outline-offset:2px}.privacy__faq{background:#101620;border:1px solid rgba(148,163,184,.4);border-radius:8px;padding:20px}.privacy__faqTitle{font-size:1.4rem;font-weight:600;color:rgba(248,250,252,.92);margin:0 0 12px;padding-bottom:8px;border-bottom:1px solid rgba(148,163,184,.4)}.privacy__faqList{display:flex;flex-direction:column;gap:12px;margin:0}.privacy__faqItem{padding:10px 12px;background:rgba(10,14,23,.4);border-radius:6px;border:1px solid rgba(0,0,0,0);transition:border-color 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacy__faqItem:hover{border-color:rgba(148,163,184,.4)}.privacy__faqQuestion{font-size:1.4rem;font-weight:600;color:rgba(248,250,252,.92);margin:0 0 4px;line-height:1.5}.privacy__faqAnswer{font-size:1.3rem;color:rgba(248,250,252,.68);line-height:1.6;margin:0}.privacyStickyBar{position:fixed;bottom:0;left:0;right:0;background:rgba(10,14,23,.98);border-top:1px solid rgba(148,163,184,.4);padding:12px 16px;display:none;z-index:100;backdrop-filter:blur(12px)}@media(max-width: 768px){.privacyStickyBar{display:block}}.privacyStickyBar__inner{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:600px;margin:0 auto}.privacyStickyBar__status{font-size:1.3rem;color:rgba(248,250,252,.68);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.privacyStickyBar__actions{display:flex;gap:8px;flex-shrink:0}.privacyStickyBar__button{padding:10px 16px;min-height:40px;background:#8b5cf6;color:#fff;border:none;border-radius:6px;font-size:1.4rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyStickyBar__button:hover{background:#9c74f7}.privacyStickyBar__button:focus-visible{outline:2px solid #fff;outline-offset:2px}.privacyStickyBar__buttonSecondary{padding:10px 12px;min-height:40px;background:rgba(0,0,0,0);color:rgba(248,250,252,.68);border:1px solid rgba(148,163,184,.4);border-radius:6px;font-size:1.3rem;font-weight:500;cursor:pointer;white-space:nowrap;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyStickyBar__buttonSecondary:hover{border-color:rgba(148,163,184,.6);color:rgba(248,250,252,.92)}.privacyStickyBar__buttonSecondary:disabled{opacity:.4;cursor:not-allowed}.privacyStickyBar__buttonSecondary:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyModal{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);display:none;align-items:center;justify-content:center;z-index:1001;padding:24px;backdrop-filter:blur(4px)}.privacyModal_visible{display:flex}.privacyModal__inner{background:#fff;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 24px 48px rgba(0,0,0,.4);animation:modalIn 200ms cubic-bezier(0.22, 1, 0.36, 1)}@keyframes modalIn{from{opacity:0;transform:scale(0.96) translateY(8px)}to{opacity:1;transform:scale(1) translateY(0)}}.privacyModal__header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e5e7eb}.privacyModal__title{font-size:18px;font-weight:600;color:#111827;margin:0}.privacyModal__close{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:#f3f4f6;border:none;border-radius:50%;cursor:pointer;transition:background 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyModal__close:hover{background:#e5e7eb}.privacyModal__close:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacyModal__close svg{width:18px;height:18px;color:#6b7280}.privacyModal__content{flex:1;overflow-y:auto;padding:24px;font-size:15px;line-height:1.8;color:#1f2937}.privacyModal__content h1{font-size:24px;font-weight:700;color:#111827;margin:0 0 20px}.privacyModal__content h2{font-size:18px;font-weight:600;color:#111827;margin:24px 0 12px}.privacyModal__content p{margin-bottom:12px}.privacyModal__content ul,.privacyModal__content ol{padding-left:24px;margin-bottom:16px}.privacyModal__footer{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid #e5e7eb;background:#f9fafb;border-radius:0 0 12px 12px}.privacyToast{position:fixed;bottom:24px;right:24px;padding:12px 20px;background:#34d399;color:#0a0e17;border-radius:8px;font-size:1.4rem;font-weight:500;box-shadow:0 8px 24px rgba(0,0,0,.3);z-index:1000;display:none;animation:toastSlideIn 250ms cubic-bezier(0.22, 1, 0.36, 1)}.privacyToast_visible{display:block}@media(max-width: 768px){.privacyToast{bottom:88px;left:16px;right:16px}}@keyframes toastSlideIn{from{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.privacyLoading{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(10,14,23,.85);display:none;align-items:center;justify-content:center;flex-direction:column;gap:12px;z-index:1000;backdrop-filter:blur(4px)}.privacyLoading_visible{display:flex}.privacyLoading__spinner{width:36px;height:36px;border:3px solid rgba(148,163,184,.4);border-top-color:#8b5cf6;border-radius:50%;animation:spin .8s linear infinite}.privacyLoading__text{color:rgba(248,250,252,.92);font-size:1.4rem}@keyframes spin{to{transform:rotate(360deg)}}@media print{.privacy__hero,.privacy__heroAd,.privacyBuilder__inputArea,.privacyBuilder__footer,.privacyBuilder__resultActions,.privacyStickyBar,.privacy__faq,.privacy__related{display:none !important}.privacyPage{background:#fff !important;color:#000 !important;padding:0 !important}.privacyBuilder{border:none;background:rgba(0,0,0,0)}.privacyBuilder__content{display:block}.privacyBuilder__resultArea{padding:0;background:rgba(0,0,0,0)}.privacyBuilder__previewWrapper{background:rgba(0,0,0,0);padding:0}.privacyBuilder__preview{box-shadow:none;max-height:none;overflow:visible}}.privacy__related{padding:48px 24px;background:linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);border-radius:16px;margin-top:32px}.privacy__relatedInner{max-width:1000px;margin:0 auto}.privacy__relatedTitle{font-size:1.5rem;font-weight:700;text-align:center;margin:0 0 8px;color:#1e293b}.privacy__relatedDesc{text-align:center;color:#64748b;margin:0 0 32px;font-size:.95rem}.privacy__relatedGrid{display:grid;grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));gap:16px}.privacy__relatedCard{display:flex;flex-direction:column;padding:20px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;text-decoration:none;color:inherit;transition:all 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacy__relatedCard:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.08);border-color:#8b5cf6}.privacy__relatedCard:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.privacy__relatedCardIcon{display:flex;align-items:center;justify-content:center;width:48px;height:48px;margin-bottom:12px;background:rgba(99,102,241,.08);border-radius:12px;transition:transform 120ms cubic-bezier(0.22, 1, 0.36, 1)}.privacy__relatedCardIcon svg{width:28px;height:28px}.privacy__relatedCard:hover .privacy__relatedCardIcon{transform:scale(1.05)}.privacy__relatedCardTitle{font-size:1rem;font-weight:600;margin:0 0 8px;color:#1e293b}.privacy__relatedCardDesc{font-size:.85rem;color:#64748b;margin:0;line-height:1.5}@media(prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}