@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;700;900&family=Noto+Sans+JP:wght@400;700;900&display=swap";:root{--color-primary: #2563eb;--color-accent: #22d3ee;--color-bg-base: #ffffff;--color-bg-sub: #f5f5f7;--color-text-main: #1d1d1f;--color-text-sub: #4b5563;--color-label-bg: #eff6ff;--color-label-text: #2563eb;--color-bg-panel: #ffffff;--color-border: rgba(0, 0, 0, .1);--color-card-bg: #ffffff;--gradient-primary: linear-gradient(to right, #2563eb, #22d3ee);--shadow-soft: 0 10px 40px -10px rgba(0, 0, 0, .08)}:root[data-theme=dark],html[data-theme=dark]{--color-primary: #3b82f6;--color-accent: #67e8f9;--color-bg-base: #0f172a;--color-bg-sub: #1e293b;--color-text-main: #f8fafc;--color-text-sub: #94a3b8;--color-label-bg: #1e3a8a;--color-label-text: #60a5fa;--color-bg-panel: #1e293b;--color-border: rgba(255, 255, 255, .1);--color-card-bg: #1e293b;--shadow-soft: 0 10px 40px -10px rgba(0, 0, 0, .5);--gradient-primary: linear-gradient(to right, #3b82f6, #06b6d4)}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,Noto Sans JP,sans-serif;background-color:var(--color-bg-base);color:var(--color-text-main);line-height:1.6;overflow-x:clip;transition:background-color .3s ease,color .3s ease}.app{width:100%;position:relative}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.3}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 24px}.section{padding:100px 0;position:relative;z-index:10;will-change:transform;transform:translateZ(0)}.page-fade-enter{opacity:0}.page-fade-enter-active{opacity:1;transition:opacity .3s ease-out}.page-fade-exit{opacity:1;position:absolute;top:0;left:0;width:100%}.page-fade-exit-active{opacity:0;transition:opacity .3s ease-in;position:absolute;top:0;left:0;width:100%}.card{background:var(--color-card-bg);border-radius:16px;padding:32px;box-shadow:var(--shadow-soft);border:1px solid var(--color-border)}@media(max-width:768px){.md-hidden{display:none!important}}@media(min-width:769px){.desktop-hidden{display:none!important}}@media(max-width:768px){.desktop-hidden{display:flex!important}}.card{transition:transform .3s cubic-bezier(.33,1,.68,1),box-shadow .3s cubic-bezier(.33,1,.68,1);will-change:transform}.card:hover{transform:translateY(-4px);box-shadow:0 20px 60px -15px #0000001f}.btn-primary{display:inline-block;background:var(--gradient-primary);color:#fff;text-decoration:none;padding:16px 40px;border-radius:30px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 15px #2563eb40;transition:transform .25s cubic-bezier(.33,1,.68,1),box-shadow .25s cubic-bezier(.33,1,.68,1),filter .25s ease;will-change:transform}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 30px #2563eb66;filter:brightness(1.08)}.btn-primary:active{transform:translateY(0) scale(.98);box-shadow:0 2px 10px #2563eb4d;transition-duration:.1s}.btn-secondary{display:inline-block;background-color:var(--color-bg-sub);color:var(--color-text-main);text-decoration:none;padding:16px 40px;border-radius:30px;font-weight:700;border:none;cursor:pointer;transition:transform .25s cubic-bezier(.33,1,.68,1),background-color .25s ease,box-shadow .25s cubic-bezier(.33,1,.68,1);will-change:transform}.btn-secondary:hover{transform:translateY(-2px);background-color:#e5e5e7;box-shadow:0 8px 25px #00000014}.btn-secondary:active{transform:translateY(0) scale(.98);transition-duration:.1s}.text-gradient{background-size:200% auto;animation:gradientShift 4s ease infinite}@keyframes gradientShift{0%,to{background-position:0% center}50%{background-position:100% center}}.nav-link{position:relative;text-decoration:none;color:var(--color-text-main);font-weight:500;padding-bottom:2px}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gradient-primary);border-radius:1px;transition:width .3s cubic-bezier(.33,1,.68,1)}.nav-link:hover:after{width:100%}.faq-toggle{cursor:pointer;-webkit-user-select:none;user-select:none}.faq-toggle:hover{background-color:#2563eb08}.faq-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--color-label-bg);color:var(--color-primary);font-size:1.2rem;font-weight:700;flex-shrink:0;transition:transform .3s cubic-bezier(.33,1,.68,1),background-color .3s ease}.faq-toggle[data-open=true] .faq-icon{transform:rotate(45deg);background-color:var(--color-primary);color:#fff}.faq-answer{overflow:hidden;transition:max-height .4s cubic-bezier(.33,1,.68,1),opacity .3s ease}.reveal{opacity:0;transform:translateY(30px);will-change:transform,opacity}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.card:hover,.btn-primary:hover,.btn-secondary:hover{transform:none}.reveal{opacity:1;transform:none}}.internal-page{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:linear-gradient(135deg,#f6f8fb,#e9edf3);min-height:100vh;color:#1e293b}.dashboard-container{max-width:1200px;margin:40px auto;padding:32px}.dashboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.dashboard-title{font-size:28px;font-weight:800;letter-spacing:-.5px;color:#0f172a;margin:0;background:linear-gradient(90deg,#1e293b,#3b82f6);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:12px 24px;border-radius:12px;border:none;font-weight:600;font-size:14px;cursor:pointer;box-shadow:0 4px 12px #2563eb33;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #2563eb4d}.glass-card{background:#ffffffd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:20px;border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 30px -10px #0000000d;overflow:hidden}.data-table{width:100%;border-collapse:collapse}.data-table th{background:#f8fafccc;padding:16px 24px;font-size:13px;font-weight:600;color:#64748b;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #e2e8f0}.data-table td{padding:20px 24px;font-size:14px;border-bottom:1px solid #f1f5f9;transition:background .2s}.data-table tbody tr{cursor:pointer}.data-table tbody tr:hover td{background:#f8fafccc}.status-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;display:inline-block;letter-spacing:.5px}.calc-container{max-width:1400px;margin:0 auto;padding:32px;display:grid;grid-template-columns:1fr 400px;gap:32px}.calc-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px #00000008;margin-bottom:24px;border:1px solid #f1f5f9}.calc-section-title{font-size:18px;font-weight:700;margin-bottom:20px;color:#0f172a;display:flex;align-items:center;gap:8px}.calc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:13px;font-weight:600;color:#475569}.input-group input,.input-group select{padding:10px 12px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;font-size:14px;transition:all .2s}.input-group input:focus,.input-group select:focus{outline:none;border-color:#3b82f6;background:#fff;box-shadow:0 0 0 3px #3b82f61a}.result-card{background:linear-gradient(135deg,#0f172a,#1e293b);color:#fff;border-radius:20px;padding:32px;box-shadow:0 20px 40px -10px #0f172a4d;position:sticky;top:32px}.result-row{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.1)}.result-row:last-child{border-bottom:none}.result-label{font-size:14px;color:#94a3b8}.result-value{font-size:18px;font-weight:600}.result-value.highlight{font-size:28px;color:#38bdf8;font-weight:800}.result-value.success{color:#34d399}.result-value.warning{color:#fbbf24}.back-link{color:#64748b;text-decoration:none;font-size:14px;display:inline-flex;align-items:center;gap:8px;margin-bottom:24px;transition:color .2s;cursor:pointer;background:none;border:none;padding:0}.back-link:hover{color:#0f172a}
