/*文字の基本設定、文字コード。基準の大きさ*/
@charset "UTF-8";

/* Reset some default styles */
*{
 padding: 0;
 margin: 0;
 box-sizing: border-box
}

/*ここからbody*/

body {
    font-family: Arial, sans-serif;
    line-height: 1.6;
    background-color: #f9f9f9;
    margin: 0;
    padding: 0;
}




/*header*/
header {
    background-color: #7acbe1;
    color: #fff;
    padding: 10px 0;
}






header .container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    padding: 0 20px;
}

header h1 {
    font-size: 23px;
}

.no-change {
            color: #fff; 
            text-decoration: none; /* 下線を消す */
            font-weight: bold; /* フォントの太さ */
        }

        .no-change:visited {
            color: #fff; /* クリック後のリンクの色 */
        }

        .no-change:hover {
            color: #fff; /* ホバー時のリンクの色 */
        }

        .no-change:active {
            color: #fff; /* クリック時のリンクの色 */
        }




header nav ul {
    list-style-type: none;
}

header nav ul li {
    display: inline-block;
    margin-right: 20px;
}

header nav ul li a {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
}



/*メイン*/

.img-1 img{
    max-width: 90%; /* コンテナーの幅を超えないように制限 */
    height: auto;
    display: block; /* 画像をブロック要素として扱う */
    margin: 30px auto;
     
}



.line {
    border: none; /* ボーダーはなし */
    border-top: 2px solid #888888; /* 上線のスタイルを設定 */
    margin: 40px 10px; /* 上下に余白を設定（必要に応じて調整） */
  }

h2 {
    margin:15px 5px;
}


h3 {
    margin-bottom:8px;
}


h4 {
    text-indent: 20px;
    margin-bottom:8px;
}


p {
    line-height: 1.7;
    text-align: justify;
    text-indent: 20px;
    margin-bottom:8px;

}




.container {
    max-width: 960px;
    margin: 20px auto;
    padding: 0 20px;
    display: flex;
    gap: 20px;
}




main {
    flex: 2;
    display: flex;
    gap: 20px;
}

.home {
    background-color: #fff;
    padding: 15px;
    border-radius: 5px;
    flex: 2;
}

.home section{
    margin-bottom: 10px; /* セクション間のスペース */
}

.home section:last-child{
    margin-bottom: 30px; /* セクション下部のスペース */
}

.sidebar {
    background-color: #f0f0f0;
    padding: 15px;
    border-radius: 5px;
    flex: 1;
}

/* Media Query for small screens */
@media (max-width: 768px) {
    .container {
        flex-direction: column; /* 縦方向に並べる */
    }
    
    .home {
        order: 1; /* メインコンテンツを上に配置 */
    }

    .sidebar {
        order: 2; /* サイドバーを下に配置 */
        margin-top: 20px; /* 適宜マージンを追加 */
    }
}

/*フッター*/


footer {
    background-color: #009bc6;
    color: #fff;
    padding: 10px 0;
    text-align: center;
}

footer .container {
    padding: 0 20px;
}