/* 基本スタイル */
body {
    margin: 0;
    padding: 0;
    background-color: #b8cc9e; /* 画像の背景色に近い緑 */
    font-family: "Sawarabi Mincho", "Hiragino Mincho ProN", "MS Mincho", serif;
    color: #333;
    line-height: 1.6;
}

/* メインビジュアル（一番上の画像部分） */
.main-visual {
    height: 60vh;
    background-image: url(main.png); /* ここにゴリラとウサギの画像をセット */
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    padding: 40px;
    color: #fff;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
}

.main-visual h1 {
    font-size: 1.8rem;
    margin: 0;
}

.main-visual h1 span {
    font-size: 1.2rem;
    font-weight: normal;
}

/* コンテンツ全体 */
main {
    max-width: 900px;
    margin: 0 auto;
    padding: 40px 20px;
}

.intro {
    text-align: center;
    margin-bottom: 60px;
    font-weight: bold;
}

/* 各セクションのタイトル */
.section-title {
    text-align: center;
    margin-bottom: 30px;
}

.section-title .num {
    display: block;
    font-size: 2rem;
    font-weight: bold;
}

.section-title h2 {
    font-size: 1.5rem;
    border-bottom: none;
    margin-top: 5px;
}

/* テキストと画像の横並び設定 */
.content-block {
    margin-bottom: 80px;
}

.flex-container {
    display: flex;
    align-items: flex-start;
    gap: 30px;
}

/* 偶数番目のセクションは画像とテキストを入れ替える（画像に合わせる） */
.reverse .flex-container {
    flex-direction: row-reverse;
}

.text-box {
    flex: 1;
}

.text-box h3 {
    font-size: 1.2rem;
    color: #000;
    margin-bottom: 10px;
    border-left: 4px solid #333;
    padding-left: 10px;
}

.text-box p {
    font-size: 0.95rem;
    margin-bottom: 20px;
    text-align: justify;
}

/* 画像ボックスの「あたり」 */
.image-box {
    flex: 1;
    min-height: 300px;
    background-color: #eee;
    background-size: cover;
    background-position: center;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

/* 各画像（個別設定用） */
.img-1 { background-image: url('img_1.jpg'); }
.img-2 { background-image: url('img2.jpg'); }
.img-3 { background-image: url('img_3.jpg'); }

/* フッター */
footer {
    text-align: center;
    padding: 40px;
    font-size: 0.8rem;
}

/* レスポンシブ対応（スマホでは縦並び） */
@media (max-width: 768px) {
    .flex-container, .reverse .flex-container {
        flex-direction: column;
    }
    .image-box {
        width: 100%;
        min-height: 250px;
        order: -1; /* スマホでは画像を先に表示 */
    }
}