/* section1.css */

#section1 {
    background-color: #ffffff; /* 白背景に設定 */
    background-position: center; /* 必要に応じて */
    height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background-color: #ffffff; /* 必要な背景色を設定 */
}

#section1 h2 {
    font-size: 2.5em;
    color: #333;
    margin-bottom: 20px;
}

#section1 p {
    font-size: 1.2em;
    color: #555;
    max-width: 800px;
    line-height: 1.6;
}
/* セクション全体のスタイル */
.section-1 {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding: 50px 20px;
    line-height: 1.8;
}

/* タイトル文字の一文字ずつのアニメーション */
#title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(-50px);
    animation: drop-in 2s ease forwards;
}

#title span:nth-child(1) { animation-delay: 0.1s; }
#title span:nth-child(2) { animation-delay: 0.2s; }
#title span:nth-child(3) { animation-delay: 0.3s; }
#title span:nth-child(4) { animation-delay: 0.4s; }
#title span:nth-child(5) { animation-delay: 0.5s; }
#title span:nth-child(6) { animation-delay: 0.6s; }

/* 初期スタイル */
#title span {
    display: inline-block;
    opacity: 0;
    transform: translateY(-50px);
    transition: transform 0.5s ease, opacity 0.5s ease;
}

/* アニメーションを適用するクラス */
#title span.animate {
    opacity: 1;
    transform: translateY(0);
}

/* 本文のスタイル */
.description {
    font-size: 1.1em;
    color: #333;
    max-width: 800px;
    line-height: 1.8;
    margin-top: 20px;
}

/* 上下の線（オプション） */
.section-1::before,
.section-1::after {
    content: "";
    display: block;
    width: 60%;
    height: 1px;
    background-color: #ccc;
    margin: 20px auto;
}
