/* === index.css の中身 === */

main {
    max-width: 1000px;
    margin: 40px auto;
    background: white;
    padding: 30px;
    border-radius: 12px;

    /*ここから横並びのコード*/
    display: flex;
    gap: 40px
}

article {
    flex: 1;
}

article ul {
    padding-left: 20px;
    margin-bottom: 30px;
}

article li {
    margin-bottom: 8px
}

h2 {
    border-left: 5px solid #0060ff;
    padding-left: 10px;
}

h3 {
    font-size: 18px;
    border-bottom: 2px solid #d6e4ff;
    padding-bottom: 5px;
    margin-top: 30px;
}

.box {
    background-color: #ffffff;
    padding: 20px;
    margin-top: 0px;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.1);

    width: 300px;
    flex-shrink: 0;
}

.btn {
    display: inline-block;
    margin-top: 20px;
    padding: 10px 20px;
    background-color: #0060ff;
    color: white;
    text-decoration: none;
    border-radius: 8px;
    transition: 0.3s;
}

.btn:hover {
    background-color: #0040aa;
}

/* ==========================================
   📱 画面の横幅が 768px 以下（スマホ等）のときのスタイル
   ========================================== */
@media (max-width: 768px) {
    main {
        flex-direction: column; /* 💡 横並び（flex）を「縦並び」に変更 */
        margin: 20px 10px;      /* 💡 上下の余白を狭くし、左右に少し隙間を作る */
        padding: 20px;          /* 💡 内側の余白を少しスリムに */
    }

    .box {
        width: 100%;            /* 💡 幅300px固定を解除し、画面幅いっぱいに広げる */
        box-sizing: border-box; /* 💡 余白を含めて100%に収める計算 */
    }
}
