/* -----------------------------------------
   About Page Styles
----------------------------------------- */
.about-wrapper {
    background: #ffffff;
    min-height: 100vh;
    padding: 160px 20px 80px; /* ナビゲーションとの余白を多めに確保 */
    display: flex;
    justify-content: center;
}

.about-container {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

/* コンセプトメッセージエリア */
.about-statement {
    text-align: center;
    margin-bottom: 90px;
    animation: FadeInUp 0.8s cubic-out;
}

.about-sub-label {
    font-size: 12px;
    font-weight: 800;
    color: var(--primary-color);
    letter-spacing: 4px;
    margin-bottom: 20px;
    display: inline-block;
}

.about-hero-title {
    font-size: 38px;
    font-weight: 900;
    color: var(--text-dark);
    line-height: 1.5;
    margin-bottom: 40px;
    letter-spacing: 1.5px;
}

.about-lead {
    font-size: 18px;
    font-weight: 600;
    line-height: 1.8;
    color: var(--text-dark);
    max-width: 680px;
    margin: 0 auto 30px;
    text-align: left;
}

.about-description {
    font-size: 15px;
    color: var(--text-muted);
    line-height: 1.9;
    max-width: 680px;
    margin: 0 auto;
    text-align: left;
}

/* プロフィール・会社概要テーブル */
.about-profile {
    margin-top: 60px;
    animation: FadeInUp 1.1s cubic-out;
}

.about-section-title {
    font-size: 14px;
    font-weight: 800;
    color: var(--text-dark);
    letter-spacing: 3px;
    margin-bottom: 25px;
    border-bottom: 2px solid var(--text-dark);
    padding-bottom: 10px;
}

.profile-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 60px;
}

.profile-table tr {
    border-bottom: 1px solid #eeeeee;
}

.profile-table th {
    width: 25%;
    text-align: left;
    padding: 20px 10px 20px 0;
    font-size: 14px;
    font-weight: 700;
    color: var(--text-dark);
    vertical-align: top;
}

.profile-table td {
    padding: 20px 0;
    font-size: 14px;
    color: #333333;
    line-height: 1.7;
    vertical-align: top;
}

/* 戻るボタンエリア */
.about-footer-actions {
    display: flex;
    justify-content: center;
    margin-top: 40px;
    padding-top: 40px;
}