@charset="UTF-8"
        /* ここにCSSを記述します。後述のデザインポイントをご参照ください。 */
        body {
            font-family: 'Helvetica Neue', Arial, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
            margin: 0;
            padding: 0;
            color: #333;
            background-color: #f9f9f9;
        }

        /* ヘッダー */
        header {
            background-color: #578158; /* メインカラー */
            color: white;
            padding: 10px 20px;
			text-align: center;			/* 中央配置 */
        }

        header .logo {
            font-size: 24px;
            font-weight: bold;
        }

        /* ナビゲーション */
        nav {
            background-color: #333;
            padding: 10px 0;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }

        nav ul {
            list-style: none;
            padding: 0;
            margin: 0;
            display: flex;				 /* 横並び */
            justify-content: center;
        }

        nav ul li {
            margin: 0 15px;
        }

        nav ul li a {
            color: white;
            text-decoration: none;
            padding: 5px 10px;
            transition: background-color 0.3s ease;
        }

        nav ul li a:hover {
            background-color: #555;
            border-radius: 4px;
        }


        /* コンテンツエリア */
        main {
            display: flex;		/* メインと右サイドを入れる箱 */
            flex-wrap: wrap; /* スマホで縦並びにするため */
            gap: 20px;
            margin-top: 5px;
            max-width: 1200px;
            margin: 0px auto;
            padding: 10px 20px; 
 }
		
		main a {
		  color: #30c;  /* リンクの基本色 */
		  text-decoration: none;  /* 下線を非表示にする */
		  transition: all 0.3s ease;  /* ホバー時のアニメーションを滑らかにする */
		  cursor: pointer;  /* マウスカーソルをポインターにする */
		}

		main a:hover {
		  text-decoration: underline;  /* ホバー時に下線を表示 */
		  font-weight: bold;  /* ホバー時にテキストを太字にする */
		  background-color: #f0f0f0;  /* ホバー時の背景色 */
		  color: #0056b3;  /* 背景と文字色のコントラストを調整 */
}	
		
	
        article {
            flex: 3; /* 広い方の幅　大きさ比率３ */
            background-color: white;
            padding: 5px 0px 5px 30px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            min-width: 300px; /* 最小幅を設定 */
        }
        aside {
            flex: 1; /* 狭い方の幅 　大きさ比率１　*/
            background-color: white;
            padding: 20px;
            border-radius: 8px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
            min-width: 200px; /* 最小幅を設定 */
        }

        /* H要素（見出し）とそれ以外の要素の区別 */
        h2 {
            font-size: 26px;
            color: #333;
		    background-color: rgb(212, 214, 205);
            border-top: 2px solid #9aad9a; /* メインカラーの上線 */
            padding-bottom: 5px;
            margin-bottom: 20px;
			margin-top: 50px;
        }

        h3 {
            font-size: 22px;
            color: #333;
            background-color: rgb(234, 235, 230);
            border-top: 2px solid #4CAF50; /* メインカラーの上線 */
            padding-bottom: 5px;
			margin-top: 60px;
 
        }

        h4 {
            font-size: 20px;
            color: #333;
            border-top: 2px solid #4CAF50; /* メインカラーの上線 */
            padding-bottom: 5px;
			margin-top: 60px;
 
        }
		.center{
			margin: 0 auto; /* ブロック要素を中央寄せ */
		}
		.right {			/* ブロック要素を右寄せ */
		  margin-left: auto;
		  width: 50%; /* 幅を明示的に指定する必要があります */
		}

		.left-align {		　　/* この中のインライン要素が左寄せになる */
		  text-align: left;
		}		
		.right-align{
			text-align: right; /* この中のインライン要素が右寄せになる */
		}
		
		.center-align {
			text-align: center; /* この中のインライン要素が中央になる */
		}
		
		video {
		  width: 70%;
		  margin: 20px;
		}
		
		
        /* DL全体のスタイル（任意） */
        dl {
            margin-bottom: 20px;
            border: 1px solid #eee;
            padding: 15px;
            border-radius: 5px;
            background-color: #f9f9f9;
        }

        /* DTの行頭1文字下げ */
        dt {
            text-indent: -1em; /* 1文字分左にずらす */
            padding-left: 1em; /* 左にずらした分、左パディングで補う */
            margin-bottom: 5px; /* 必要に応じて調整 */
            font-weight: bold; /* 定義語なので太字に */
            /* color: #007bff;  例として色をつける */
        }

        /* DDのスタイル（任意） */
        dd {
            margin-left: 0em; /* DDも通常のインデントを適用 */
            margin-bottom: 5px;
            /* border-left: 2px solid #ddd; /* 定義内容を示す線 */
            padding-left: 10px;
        }

        /* 複数行の場合の例 */
        dt.multi-line {
            text-indent: -1em;
            padding-left: 1em;
            /* 複数行にわたる場合、先頭行だけ字下げされます */
        }


        /* テーブルデザイン */
        table {
            width: 100%;
            border-collapse: collapse; /* セルの境界線を結合 */
            margin-top: 20px;
            margin-bottom: 20px;
            font-size: 15px;
        }

        th, td {
            padding: 12px 15px;
            text-align: left;
            border-bottom: 1px solid #ddd; /* 一本線の下線 */
        }

        th {
            background-color: #f2f2f2; /* 見出し行の背景色を少し変える */
            font-weight: bold;
            color: #555; /* 見出しの文字色を少し濃くする */
            border-bottom: 2px solid #ccc; /* 見出しの下線を少し太くする */
        }

        tr:hover {
            background-color: #f5f5f5; /* ホバー時の背景色 */
        }

        /* フッター */
        footer {
            background-color: #333;
            color: white;
            text-align: center;
            padding: 20px;
            margin-top: 30px;
            box-shadow: 0 -2px 4px rgba(0,0,0,0.1);
        }

        /* レスポンシブデザイン */
        @media (max-width: 768px) {
            header {
                flex-direction: column;
                text-align: center;
            }

            header .logo {
                margin-bottom: 10px;
            }

            nav ul {
                flex-direction: column;
                align-items: center;
            }

            nav ul li {
                margin: 5px 0;
            }

            main {
                flex-direction: column; /* スマホでは縦並び */
            }

            main, aside {
                width: auto; /* 幅を自動調整 */
                flex: none; /* flexgrowを無効化 */
            }
			            /* スマホでのテーブル表示 */
            table, thead, tbody, th, td, tr {
                display: block; /* 全てブロック要素として扱う */
            }

            thead tr {
                position: absolute;
                top: -9999px;
                left: -9999px; /* 見出しを隠す */
            }

            tr {
                border: 1px solid #eee;
                margin-bottom: 15px;
                border-radius: 8px;
                overflow: hidden; /* 角丸を適用するため */
            }

            td {
                border: none; /* セルの境界線をなくす */
                position: relative;
                padding-left: 50%; /* ラベル用のスペース */
                text-align: right; /* 値を右寄せに */
            }

            td:before {
                content: attr(data-label); /* data-label属性の値を表示 */
                position: absolute;
                left: 0;
                width: 45%;
                padding-left: 15px;
                white-space: nowrap;
                text-align: left;
                font-weight: bold;
                color: #666;
            }
        }
     