/* ページヘッダー（指定されたグラデーションとパディング） */
    .page-header {
        background: linear-gradient(to top, #e0e0e0 26%, #efefef 48%, #d9d9d9 75%, #bcbcbc 100%);
        padding: 50px 0;
        text-align: center;
        color: #fff;
        margin-bottom: 40px;
    }

    .page-header h1 {
        margin: 0;
        font-size: 24px;
        font-weight: bold;
        color: #ffffff; /* 背景がグレー系なので白文字にして影をつけるか、視認性を確認 */
        text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.3);
    }

    /* コンコンテンツラッパー */
    .container1 {
        max-width: 900px;
        margin: 100px auto;
        padding: 0 20px 60px;
    }

    /* セクション共通スタイル（指定されたマージンを追加） */
    .flow-section {
        margin-bottom: 40px;
    }

    /* セクションタイトル（指定された色に変更） */
    .section-title {
        font-size: 18px;
        font-weight: bold;
        color: #333; /* 指定色 */
        border-bottom: 1px solid #0056b3; /* 指定色 */
        padding-bottom: 2px;
        margin-bottom: 30px;
    }

    .section-description {
        font-size: 14px;
        margin-bottom: 30px;
    }

    /* タイムラインスタイル */
    .timeline {
        position: relative;
        padding-left: 20px; /* 左側の余白 */
    }

    /* 縦線 */
    .timeline::before {
        content: '';
        position: absolute;
        top: 10px;
        bottom: 0;
        left: 34px; /* 丸の中心に線を合わせる */
        width: 2px;
        background: #e0e0e0;
        z-index: 1;
    }

    .timeline-item {
        position: relative;
        margin-bottom: 0; /* アイテム間の余白はdurationで調整 */
        padding-left: 40px; /* 丸の分だけ右にずらす */
        z-index: 2;
    }

    /* 丸数字 */
    .timeline-number {
        position: absolute;
        left: 0;
        top: 0;
        width: 30px;
        height: 30px;
        background-color: #0056b3; /* 指定色 */
        color: #fff;
        border-radius: 50%;
        text-align: center;
        line-height: 30px;
        font-weight: bold;
        font-size: 14px;
        z-index: 3;
    }

    /* コンテンツ部分 */
    .timeline-content {
        padding-bottom: 20px;
    }

    .timeline-title {
        font-weight: bold;
        color: #0056b3; /* 指定色 - 画像に合わせて少し濃い色に */
        font-size: 16px;
        margin-bottom: 5px;
        display: block;
    }
    
    /* ステップの説明文（小さめの文字） */
    .timeline-note {
        font-size: 12px;
        color: #666;
        margin: 5px 0 0;
    }

    /* 期間（水色のボックス） */
    .timeline-duration {
        position: relative;
        margin-left: 40px; /* 本文と同じインデント */
        margin-bottom: 20px;
        display: inline-block;
        background-color: #dbeaf9; /* 薄い青 */
        color: #0056b3; /* 濃い青 */
        padding: 4px 15px;
        font-size: 14px;
        font-weight: bold;
        border-radius: 2px;
        z-index: 2; /* 線の上に表示 */
    }

    /* 最後のアイテムの縦線調整（今回はCSSのみで簡易的に処理するためそのまま） */
    
    /* ボタンエリア */
    .button-container {
        text-align: right;
        margin-top: 40px;
    }

    .btn-estimate {
        background-color: #0056b3;
        color: white;
        padding: 10px 20px;
        text-decoration: none;
        font-size: 14px;
        border-radius: 4px;
        display: inline-block;
        transition: opacity 0.3s;
    }

    .btn-estimate:hover {
        opacity: 0.8;
    }

    /* スマートフォン向け調整 */
    @media (max-width: 600px) {
        .page-header h1 {
            font-size: 20px;
        }
        .timeline-duration {
            display: block;
            width: fit-content;
        }
    }