:root{--primary:#6366f1;--primary-dark:#4f46e5;--secondary:#8b5cf6;--accent:#06b6d4;--bg:#0f172a;--card:#1e293b;--card-hover:#334155;--text:#f1f5f9;--text-light:#94a3b8;--border:#334155;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--gradient:linear-gradient(135deg,var(--primary),var(--secondary))}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Noto Sans JP',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.6;min-height:100vh}
a{color:var(--primary);text-decoration:none;transition:color 0.2s}
a:hover{color:var(--accent)}
.container{max-width:1200px;margin:0 auto;padding:0 1.5rem}
.site-header{background:rgba(15,23,42,0.95);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;max-width:1200px;margin:0 auto;gap:2rem}
.logo{font-size:1.5rem;font-weight:700;color:var(--text);display:flex;align-items:center;gap:0.5rem}
.logo span{background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.main-nav{display:flex;gap:0.25rem;align-items:center}
.main-nav a{padding:0.5rem 1rem;border-radius:8px;color:var(--text-light);font-weight:500;transition:all 0.2s}
.main-nav a:hover,.main-nav a.active{color:var(--text);background:var(--card)}
.mobile-menu-btn{display:none;background:none;border:none;color:var(--text);font-size:1.5rem;cursor:pointer}
.page-header{background:var(--gradient);padding:4rem 0;text-align:center;margin-bottom:3rem}
.page-header h1{font-size:2.5rem;font-weight:700;margin-bottom:0.5rem}
.page-header p{font-size:1.1rem;opacity:0.9}
.hero{text-align:center;padding:5rem 0 4rem}
.hero h1{font-size:3rem;font-weight:800;margin-bottom:1.5rem;line-height:1.2}
.hero p{font-size:1.25rem;color:var(--text-light);max-width:600px;margin:0 auto 2rem}
.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 2rem;background:var(--gradient);color:white;border:none;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:transform 0.2s,box-shadow 0.2s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(99,102,241,0.3)}
.btn-secondary{display:inline-flex;align-items:center;gap:0.5rem;padding:0.875rem 2rem;background:var(--card);color:var(--text);border:1px solid var(--border);border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all 0.2s}
.btn-secondary:hover{background:var(--card-hover);border-color:var(--primary)}
.tools-section{padding:4rem 0}
.section-title{text-align:center;margin-bottom:3rem}
.section-title h2{font-size:2rem;font-weight:700;margin-bottom:0.5rem}
.section-title p{color:var(--text-light)}
.tools-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}
.tool-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;transition:all 0.3s;cursor:pointer}
.tool-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 12px 40px rgba(99,102,241,0.15)}
.tool-icon{font-size:2.5rem;margin-bottom:1rem}
.tool-card h3{font-size:1.1rem;font-weight:600;margin-bottom:0.5rem}
.tool-card p{color:var(--text-light);font-size:0.9rem}
.tool-category{display:inline-block;padding:0.25rem 0.75rem;background:var(--bg);border-radius:50px;font-size:0.75rem;color:var(--text-light);margin-bottom:0.75rem}
.article-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all 0.3s;display:block}
.article-card:hover{transform:translateY(-4px);border-color:var(--primary);box-shadow:0 12px 40px rgba(99,102,241,0.15)}
.article-image{height:160px;background:var(--gradient);display:flex;align-items:center;justify-content:center;font-size:3rem}
.article-card-content{padding:1.5rem}
.article-card h3{font-size:1.1rem;font-weight:600;margin-bottom:0.5rem}
.article-card p{color:var(--text-light);font-size:0.9rem}
.articles-section{padding:4rem 0}
.articles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}
.content-page{max-width:800px;margin:0 auto;padding:3rem 0}
.content-page h2{font-size:1.75rem;font-weight:700;margin:2rem 0 1rem;color:var(--text)}
.content-page h3{font-size:1.25rem;font-weight:600;margin:1.5rem 0 0.75rem;color:var(--text)}
.content-page p{margin-bottom:1rem;line-height:1.8}
.content-page ul,.content-page ol{margin:1rem 0 1rem 1.5rem}
.content-page li{margin-bottom:0.5rem}
.content-page a{color:var(--primary)}
.content-page a:hover{text-decoration:underline}
.internal-link{color:var(--accent);font-weight:500}
.breadcrumb{padding:1rem 0;color:var(--text-light);font-size:0.9rem}
.breadcrumb a{color:var(--text-light)}
.breadcrumb a:hover{color:var(--text)}
.breadcrumb span{margin:0 0.5rem}
.article-detail{max-width:800px;margin:0 auto;padding:2rem 0}
.article-detail h1{font-size:2.25rem;font-weight:700;margin-bottom:1rem;line-height:1.3}
.article-meta{color:var(--text-light);font-size:0.9rem;margin-bottom:2rem;display:flex;gap:1rem;flex-wrap:wrap}
.article-detail h2{font-size:1.5rem;font-weight:700;margin:2.5rem 0 1rem;border-bottom:1px solid var(--border);padding-bottom:0.5rem}
.article-detail h3{font-size:1.2rem;font-weight:600;margin:2rem 0 0.75rem}
.article-detail p{margin-bottom:1.25rem;line-height:1.9;font-size:1.05rem}
.article-image-placeholder{background:var(--card);border:2px dashed var(--border);border-radius:12px;padding:2rem;text-align:center;margin:2rem 0;color:var(--text-light)}
.article-image-placeholder span{font-size:2.5rem;display:block;margin-bottom:0.5rem}
.related-articles{margin-top:4rem;padding-top:2rem;border-top:1px solid var(--border)}
.related-articles h3{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem}
.related-list{display:flex;flex-direction:column;gap:0.75rem}
.related-list a{display:flex;align-items:center;gap:0.5rem;padding:0.75rem 1rem;background:var(--card);border-radius:8px;color:var(--text);transition:all 0.2s}
.related-list a:hover{background:var(--card-hover);color:var(--primary)}
.tool-detail{max-width:800px;margin:0 auto;padding:2rem 0}
.tool-detail h1{font-size:2rem;font-weight:700;margin-bottom:0.5rem}
.tool-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}
.tool-header .tool-icon{font-size:3rem;margin:0}
.tool-header .tool-info{flex:1}
.tool-header .tool-category{margin:0}
.form-group{margin-bottom:1.25rem}
.form-group label{display:block;font-weight:500;margin-bottom:0.5rem;color:var(--text)}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:0.875rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem;transition:border-color 0.2s}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary)}
input[type="number"],input[type="text"],select,textarea{width:100%;padding:0.875rem 1rem;background:var(--card);border:1px solid var(--border);border-radius:10px;color:var(--text);font-size:1rem;transition:border-color 0.2s}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary)}
textarea{resize:vertical;min-height:120px}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem}
.contact-form h2{margin-bottom:1.5rem}
.contact-info-item{display:flex;gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--card);border-radius:12px}
.contact-info-item .icon{font-size:1.5rem}
.contact-info-item h4{font-weight:600;margin-bottom:0.25rem}
.contact-info-item p{margin:0;color:var(--text-light);font-size:0.9rem}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2rem;margin-bottom:2rem}
.footer-col h4{font-weight:600;margin-bottom:1rem;color:var(--text)}
.footer-col ul{list-style:none}
.footer-col li{margin-bottom:0.5rem}
.footer-col a{color:var(--text-light)}
.footer-col a:hover{color:var(--text)}
.site-footer{background:var(--card);border-top:1px solid var(--border);padding:3rem 0 1.5rem;margin-top:4rem}
.footer-bottom{text-align:center;padding-top:1.5rem;border-top:1px solid var(--border);color:var(--text-light);font-size:0.875rem}
.legal-content h2{margin-top:2.5rem}
.legal-content p{margin-bottom:1rem;color:var(--text-light)}
.callout{background:rgba(99,102,241,0.1);border-left:4px solid var(--primary);padding:1.5rem;border-radius:0 12px 12px 0;margin:1.5rem 0}
.feature-box{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.5rem;margin:2rem 0}
.feature-item{background:var(--card);padding:1.5rem;border-radius:12px;border:1px solid var(--border);text-align:center}
.feature-item .icon{font-size:2.5rem;margin-bottom:1rem}
.feature-item h3{font-size:1.1rem;font-weight:600;margin-bottom:0.5rem}
.feature-item p{color:var(--text-light);font-size:0.9rem}
@media(max-width:768px){.header-inner{flex-wrap:wrap}
.main-nav{width:100%;display:none;flex-direction:column;padding:1rem 0;order:3}
.main-nav.open{display:flex}
.mobile-menu-btn{display:block}
.hero h1{font-size:2rem}
.tools-grid{grid-template-columns:1fr}
.articles-grid{grid-template-columns:1fr}
.contact-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr 1fr}
.article-detail h1{font-size:1.75rem}
.page-header h1{font-size:1.75rem}}
@media(max-width:480px){.hero{padding:3rem 0 2rem}
.hero h1{font-size:1.75rem}
.hero p{font-size:1rem}
.hero-buttons{flex-direction:column}
.footer-grid{grid-template-columns:1fr}}
