body {
    font-family: 'Noto Sans JP', 'Noto Sans', 'Hiragino Sans', 'Meiryo', sans-serif;
    font-size: 16px;
    color: #23282d;
}

.feature-highlight {
    background: #f6f8fa;
    color: #d7003a;
    padding: 8px 12px;
    border-radius: 4px;
    font-weight: bold;
}

.feature-note {
    color: #1976d2;
    font-style: italic;
}

/* Feature Content Styles */

/* Text Colors */
.text-red { color: #d32f2f !important; }
.text-blue { color: #1976d2 !important; }
.text-green { color: #388e3c !important; }
.text-orange { color: #f57c00 !important; }
.text-purple { color: #7b1fa2 !important; }
.text-gray { color: #616161 !important; }

/* Background Colors */
.bg-red { background-color: #ffebee !important; }
.bg-blue { background-color: #e3f2fd !important; }
.bg-green { background-color: #e8f5e8 !important; }
.bg-yellow { background-color: #fff8e1 !important; }
.bg-orange { background-color: #fff3e0 !important; }
.bg-purple { background-color: #f3e5f5 !important; }

/* Text Sizes */
.text-large { font-size: 18px !important; font-weight: bold !important; }
.text-small { font-size: 12px !important; }
.text-xlarge { font-size: 24px !important; font-weight: bold !important; }

/* Highlighting */
.feature-highlight {
    background-color: #fff3cd !important;
    border: 1px solid #ffeaa7 !important;
    border-radius: 4px !important;
    padding: 10px !important;
    margin: 10px 0 !important;
}

.feature-note {
    background-color: #e3f2fd !important;
    border-left: 4px solid #2196f3 !important;
    padding: 10px !important;
    margin: 10px 0 !important;
}

.feature-warning {
    background-color: #ffebee !important;
    border-left: 4px solid #f44336 !important;
    padding: 10px !important;
    margin: 10px 0 !important;
}

.feature-success {
    background-color: #e8f5e8 !important;
    border-left: 4px solid #4caf50 !important;
    padding: 10px !important;
    margin: 10px 0 !important;
}

/* Boxes and Containers */
.feature-box {
    border: 1px solid #ddd !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    background-color: #fafafa !important;
}

.feature-box-blue {
    border: 1px solid #2196f3 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    background-color: #e3f2fd !important;
}

.feature-box-green {
    border: 1px solid #4caf50 !important;
    border-radius: 8px !important;
    padding: 15px !important;
    margin: 15px 0 !important;
    background-color: #e8f5e8 !important;
}

/* Alignment */
.text-center { text-align: center !important; }
.text-left { text-align: left !important; }
.text-right { text-align: right !important; }

/* Spacing */
.padding-sm { padding: 5px !important; }
.padding-md { padding: 10px !important; }
.padding-lg { padding: 15px !important; }
.margin-sm { margin: 5px !important; }
.margin-md { margin: 10px !important; }
.margin-lg { margin: 15px !important; }

/* Borders */
.border { border: 1px solid #ddd !important; }
.border-red { border: 1px solid #f44336 !important; }
.border-blue { border: 1px solid #2196f3 !important; }
.border-green { border: 1px solid #4caf50 !important; }

/* Rounded corners */
.rounded { border-radius: 4px !important; }
.rounded-lg { border-radius: 8px !important; }

/* Shadows */
.shadow { box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important; }
.shadow-lg { box-shadow: 0 4px 8px rgba(0,0,0,0.15) !important; }

/* Responsive images */
.feature-img {
    max-width: 100% !important;
    height: auto !important;
    border-radius: 4px !important;
}

/* Mobile responsive content styles */
@media (max-width: 768px) {
    .feature-detail-content {
        font-size: 14px;
        line-height: 1.6;
    }
    
    .feature-detail-content h1,
    .feature-detail-content h2,
    .feature-detail-content h3 {
        font-size: 1.2rem;
        margin: 20px 0 10px 0;
        line-height: 1.4;
    }
    
    .feature-detail-content p {
        margin: 15px 0;
        line-height: 1.6;
    }
    
    .feature-detail-content ul,
    .feature-detail-content ol {
        padding-left: 20px;
        margin: 15px 0;
    }
    
    .feature-detail-content li {
        margin: 8px 0;
        line-height: 1.5;
    }
    
    .feature-detail-content blockquote {
        margin: 20px 0;
        padding: 15px;
        font-size: 14px;
    }
    
    .feature-detail-content table {
        font-size: 12px;
        margin: 15px 0;
    }
    
    .feature-detail-content th,
    .feature-detail-content td {
        padding: 8px 4px;
    }
}

@media (max-width: 480px) {
    .feature-detail-content {
        font-size: 13px;
        line-height: 1.5;
    }
    
    .feature-detail-content h1,
    .feature-detail-content h2,
    .feature-detail-content h3 {
        font-size: 1.1rem;
        margin: 15px 0 8px 0;
    }
    
    .feature-detail-content p {
        margin: 12px 0;
    }
    
    .feature-detail-content ul,
    .feature-detail-content ol {
        padding-left: 15px;
        margin: 12px 0;
    }
    
    .feature-detail-content table {
        font-size: 11px;
    }
    
    .feature-detail-content th,
    .feature-detail-content td {
        padding: 6px 3px;
    }
}

/* Code blocks */
.feature-code {
    background-color: #f5f5f5 !important;
    border: 1px solid #ddd !important;
    border-radius: 4px !important;
    padding: 10px !important;
    font-family: 'Noto Sans JP', 'Noto Sans', 'Hiragino Sans', 'Meiryo', sans-serif !important;
    font-size: 14px !important;
}

/* Lists */
.feature-list {
    background-color: #f9f9f9 !important;
    border-radius: 4px !important;
    padding: 15px !important;
    margin: 10px 0 !important;
}

.feature-list ul {
    margin: 0 !important;
    padding-left: 20px !important;
}

.feature-list li {
    margin: 5px 0 !important;
}

/* Enhanced mobile responsiveness */
@media (max-width: 768px) {
    .feature-highlight,
    .feature-note,
    .feature-warning,
    .feature-success {
        padding: 8px !important;
        margin: 8px 0 !important;
        font-size: 14px !important;
    }
    
    .feature-box,
    .feature-box-blue,
    .feature-box-green {
        padding: 10px !important;
        margin: 10px 0 !important;
    }
    
    .feature-list {
        padding: 10px !important;
        margin: 8px 0 !important;
    }
    
    .feature-code {
        font-size: 12px !important;
        padding: 8px !important;
        overflow-x: auto !important;
    }
    
    .text-xlarge {
        font-size: 18px !important;
    }
    
    .text-large {
        font-size: 16px !important;
    }
}

@media (max-width: 480px) {
    .feature-highlight,
    .feature-note,
    .feature-warning,
    .feature-success {
        padding: 6px !important;
        margin: 6px 0 !important;
        font-size: 13px !important;
    }
    
    .feature-box,
    .feature-box-blue,
    .feature-box-green {
        padding: 8px !important;
        margin: 8px 0 !important;
    }
    
    .feature-list {
        padding: 8px !important;
        margin: 6px 0 !important;
    }
    
    .feature-code {
        font-size: 11px !important;
        padding: 6px !important;
    }
    
    .text-xlarge {
        font-size: 16px !important;
    }
    
    .text-large {
        font-size: 14px !important;
    }
} 

