/*------------------------------------------
利用規約ページスタイル
---------------------------------------------*/

/* 利用規約セクション */
.terms-section {
    background-color: var(--color-white);
    padding: var(--section-padding) 0;
    text-align: left;
    border-bottom: none;
}

.terms-hero {
    max-width: 900px;
    margin: auto;
}

.terms-title {
    font-size: var(--font-size-lg);
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
    margin-bottom: var(--margin-l);
    line-height: 1.4;
}

.terms-subtitle {
    font-size: var(--font-size-sm);
    color: var(--color-black);
    line-height: var(--line-height-relaxed);
    margin: 0;
}

/* 利用規約コンテンツセクション */
.terms-content-section {
    padding: var(--section-padding) 0;
    background-color: var(--color-white);
}

.terms-content {
    max-width: 900px;
    margin: auto;
}

.terms-article {
    margin-bottom: 40px;
    padding: 0;
    background-color: transparent;
    border: none;
    box-shadow: none;
}

.terms-article:last-child {
    margin-bottom: 0;
}

.article-title {
    font-size: var(--font-size-ml);
    font-weight: var(--font-weight-bold);
    color: var(--color-black);
    margin-bottom: 15px;
    padding-bottom: 0;
    border-bottom: none;
    position: relative;
}

.article-title::after {
    display: none;
}

.article-content {
    color: var(--color-black);
}

.article-content p {
    font-size: var(--font-size-md);
    line-height: var(--line-height-relaxed);

}

.article-content p:last-child {
    margin-bottom: 0;
}

/* サービス機能リスト */
.service-features {
    list-style: disc;
    padding-left: 20px;
    margin: 20px 0;
}

.service-features li {
    padding: 5px 0;
    font-size: var(--font-size-md);
    line-height: var(--line-height-relaxed);
    color: var(--color-black);
    border: none;
}

.service-features li::before {
    display: none;
}

/* 料金リスト */
.pricing-list {
    list-style: none;
    padding: 0;
    margin: 20px 0;
}

.pricing-list li {
    padding: 8px 0;
    margin-bottom: 8px;
    background-color: transparent;
    border: none;
    font-size: var(--font-size-md);
    line-height: var(--line-height-relaxed);
    color: var(--color-black);
}

.pricing-list li strong {
    color: var(--color-black);
    font-weight: var(--font-weight-bold);
}

/* 禁止行為リスト */
.prohibited-actions {
    list-style: disc;
    padding-left: 20px;
    margin: 20px 0;
}

.prohibited-actions li {
    padding: 5px 0;
    font-size: var(--font-size-md);
    line-height: var(--line-height-relaxed);
    color: var(--color-black);
    border: none;
}

.prohibited-actions li::before {
    display: none;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .terms-section {
        padding: 30px 0 15px;
    }
    
    .terms-title {
        font-size: var(--font-size-lg);
    }
    
    .terms-subtitle {
        font-size: var(--font-size-xs);
    }
    
    .terms-content-section {
        padding: 30px 0;
    }
    
    .terms-article {
        margin-bottom: 30px;
    }
    
    .article-title {
        font-size: var(--font-size-md);
        margin-bottom: 12px;
    }
    
    .article-content p {
        font-size: var(--font-size-sm);
    }
    
    .service-features li,
    .pricing-list li,
    .prohibited-actions li {
        font-size: var(--font-size-sm);
    }
}

@media screen and (max-width: 480px) {
    .terms-section {
        padding: 20px 0 10px;
    }
    
    .terms-title {
        font-size: var(--font-size-md);
    }
    
    .terms-content-section {
        padding: 20px 0;
    }
    
    .terms-article {
        margin-bottom: 25px;
    }
    
    .article-title {
        font-size: var(--font-size-sm);
    }
}
