.image-placeholder{
    background: url(../img/img_01.webp) no-repeat center center;
    background-size: cover;
    /* fade-in-upアニメーションの初期状態 */
    opacity: 0;
    transform: translateY(30px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    width: 68%;
    max-width: 80%;
    height: 590px;
    /* padding-bottom: 69.66%; */
    margin: 0 auto;
    /* 影を追加して立体感を演出 */
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.3);
}

.image-2{
    background: url(../img/img_02.webp) no-repeat center center;
    background-size: cover;
}

/* アニメーション状態 - fade-in-up */
.image-placeholder.animate {
    opacity: 1;
    transform: translateY(0);
}

/* テキストコンテナのアニメーション */
.text-container p{
    opacity: 0;
    transform: translateX(80px) translateY(0) rotate(0deg);
    transition: all 1.5s ease-in-out;
}

/* 2つ目のテキスト：左から右へスライド */
.about-content.reverse .text-container p{
    transform: translateX(-80px) translateY(0) rotate(0deg);
}

/* アニメーション完了時の状態 */
.text-container .animate,
.about-content.reverse .text-container p.animate {
    opacity: 1;
    transform: translateX(0) translateY(0) rotate(0deg);
}

/* 画像コンテナのスタイル */
.image-container {
    position: relative;
}

.image-container img {
    width: 100%;
    height: auto;
    display: block;
    transition: transform 0.4s ease;
}

.image-container:hover img {
    transform: scale(1.02);
}



/* レスポンシブ対応 */
@media (max-width: 768px) {   
    .about-text p {
        font-size: 20px;
        line-height: 2;
    }
    .image-placeholder {
        width: 100%;
        max-width: 100%;
        height: 468px;
    }
}


/* ページトランジション用スタイル */
body {
    transition: opacity 1.5s ease-in-out;
}

.page-transition {
    opacity: 0;
    transform: translateY(20px);
    transition: all 1.5s ease-out;
}

.page-transition.show {
    opacity: 1;
    transform: translateY(0);
}
