* {
    padding: 0;
    margin: 0;
    box-sizing: border-box;
}

body {
    background-color: blanchedalmond;
}

.container {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    /* スマホの画面端に少し余白を作る */
    padding-left: 15px;
    padding-right: 15px;
}

/* --- ヘッダー --- */
header {
    background-color: pink;
    padding: 20px;
}
header img {
    display: block;
    margin: 0 auto 15px auto; /* 下に少しマージンを追加 */
    border-radius: 20px;
    max-width: 100%; /* 画像が画面からはみ出さないように */
    height: auto;
}
header ul {
    display: flex;
    justify-content: space-between;
    list-style-type: none;
    gap: 10px; /* メニュー同士がくっつきすぎないように */
}
header ul a {
    text-decoration: none;
    color: #3A322d;
}

/* --- メインコンテンツ（スマホでは基本縦並び） --- */
.fv .item h1 {
    font-size: 30px;
    color: orange;
}
.fv .items {
    display: flex;
    flex-direction: column; /* スマホでは縦並び */
    margin: 20px 0;
    gap: 20px;
}
.fv .item p {
    color: deeppink;
}

.about-01 h2 {
    text-align: center;
    color: blueviolet;
}
.about-01 .items {
    display: flex;
    flex-direction: column; /* スマホでは縦並び */
    text-align: center;
    margin: 20px 0;
    gap: 20px; /* スマホ用に隙間を少し狭める */
    color: #3A322d;
}

div {    
    text-align: center;
}

.about-03 .items h2 {
    text-align: center;
    color: blueviolet;
}
.about-03 .items {
    display: flex;
    flex-direction: column; /* スマホでは縦並び */
    margin: 20px auto;
    text-align: center;
    align-items: center; /* 中央揃え */
    gap: 20px;
}

/* --- フッター --- */
footer {
    background-color: pink;
    padding: 20px 0; /* 下下の余白を確保 */
}
footer a { 
    background-color: deeppink;
    padding: 20px 40px; /* スマホ用に横パディングを少し削る */
    display: block;
    border: 5px solid white;
    border-radius: 100px;
    color: black;
    text-decoration: none;
    margin: 40px auto;
    width: fit-content;
    max-width: 90%; /* ボタンが画面幅を超えないように */
}
footer a:hover {
    background-color: plum;
}
footer small {
    display: block;      
    text-align: center;
}


/* ==========================================================================
   画面幅が 768px 以上（PC・タブレット）のときだけ横並びにする設定
   ========================================================================== */
@media (min-width: 768px) {
    .fv .items {
        flex-direction: row; /* 横並びに戻す */
    }
    .about-01 .items {
        flex-direction: row; /* 横並びに戻す */
        gap: 50px; /* 元の隙間に戻す */
    }
    .about-03 .items {
        flex-direction: row; /* 横並びに戻す */
        justify-content: center;
    }
    footer a {
        padding: 20px 60px; /* 元のサイズに戻す */
    }
}