@charset "utf-8";


/*PC・タブレット・スマホ共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	color: #000;	/*全体の文字色*/
	font-family: "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 14px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fedf16;	/*背景色*/
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure,form {margin: 0px;padding: 0px;font-size: 100%;}
ul {list-style-type: none;}
ol {padding-left: 40px;padding-bottom: 15px;}
img {border: none;max-width: 100%;height: auto;vertical-align: middle;}
a:hover img {opacity: 0.6}
table {border-collapse:collapse;font-size: 100%;border-spacing: 0;}
iframe {width: 100%;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	color: #000;	/*リンクテキストの色*/
	-webkit-transition: 0.5s;	/*マウスオン時の移り変わるまでの時間設定。0.5秒。*/
	transition: 0.5s;			/*同上*/
}
a:hover {
	color: #fedf16;	/*マウスオン時の文字色*/
}

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	width: 80%;			/*ブロックの幅を画面の80%にする設定。*/
	max-width: 1000px;	/*上のwidth指定の追加設定。幅1000pxを最大幅に設定し、それ以上広げない。*/
	margin: 0 auto;		/*HP画面の左右中央に表示させる設定*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	text-align: center;	/*headerの中身をセンタリングさせる設定*/
	padding: 5% 0px;	/*「5%」はheaderの上下に、「0px」はheaderの左右にあける余白設定。*/
}
/*ロゴ画像設定*/
#logo  img {
	width: 80%;			/*画像幅を上で設定している「container」の80%にする設定。*/
	max-width: 500px;	/*最大幅を500pxにする指定。これ以上大きくならない。*/
}

/*メニュー
---------------------------------------------------------------------------*/
/*メニュー全体を囲むブロック*/
#menubar {
	text-align: center;	/*文字をセンタリング*/
	margin-bottom: 3%;	/*メニューの下に空けるスペース*/
	background: #f8f8f8;	/*背景色を追加*/
	border-radius: 8px;	/*角丸を追加*/
	padding: 15px 0;	/*パディングを追加*/
	border: 2px solid #e0e0e0;	/*ボーダーを追加*/
}
/*メニュー１個あたりの設定*/
#menubar li {
	display: inline-block;	/*インラインブロックに変更*/
	margin: 5px 8px;	/*上下左右のマージンを追加*/
	vertical-align: top;	/*上揃えに設定*/
}
#menubar li a {
	text-decoration: none;
	border: 2px solid transparent;	/*枠線の幅(2px)、線種(solidは直線)、色(transparent)。「transparent」は「透明」の事で、下のマウスオン時の時に色が出るようにしています。「transparent」の代わりにカラーコードを入れてもOK。*/
	padding: 8px 15px;				/*10pxは上下に、20pxは左右へ空ける余白指定。*/
	color: #333;					/*文字色*/
	font-size: 16px;				/*文字サイズを少し大きくする設定。お好みで変更して下さい。*/
	letter-spacing: 0.1em;			/*文字感覚を少し広くする設定。広くしないでいいなら、この１行を削除。*/
	border-radius: 6px;	/*角丸を追加*/
	transition: all 0.3s ease;	/*トランジション効果を追加*/
	background: #fff;	/*背景色を追加*/
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);	/*影を追加*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	display: block;	/*ブロック表示に変更*/
	line-height: 1.4;	/*行間を調整*/
}
/*マウスオン時の設定*/
#menubar li a:hover {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	border-radius: 6px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色を変更*/
	transform: translateY(-2px);	/*少し上に移動*/
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);	/*影を強調*/
}

/*現在のページの設定*/
#menubar li.current a {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	border-radius: 6px;	/*角丸のサイズ。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色*/
	font-weight: bold;	/*太字*/
	box-shadow: 0 2px 4px rgba(254,223,22,0.3);	/*影*/
}

/*コンテンツ（囲み枠のついたブロック）
---------------------------------------------------------------------------*/
#contents {
	border: 5px solid #000;	/*枠線の幅、線種、色*/
	background: #fff;		/*背景色*/
	border-radius: 10px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
	padding: 4%;			/*ブロック内の余白*/
	overflow: hidden;
}
/*コンテンツのh2タグの設定*/
#contents h2 {
	clear: both;
	margin-bottom: 15px;
	color: #fff;		/*文字色*/
	padding: 5px 20px;	/*上下、左右への余白*/
	background: #000;	/*背景色*/
	border-radius: 4px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
}
/*コンテンツのh3タグの設定*/
#contents h3 {
	clear: both;
	margin-bottom: 15px;
	padding: 3px 20px;	/*上下、左右への余白*/
	border-radius: 4px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
	border: 2px solid #000;	/*枠線の幅、線種、色*/
}
/*コンテンツの段落タグ設定*/
#contents p {
	padding: 7px 20px 14px;	/*上、左右、下への余白*/
}
#contents p + p {
	padding-top: 0px;
}
#contents h2 + p,
#contents h3 + p {
	padding-top: 0px;
	margin-top: -5px;
}

/*Galleryページ
---------------------------------------------------------------------------*/
/*画像の設定*/
.list figure img {
	float: left;	/*左に回り込みさせる設定*/
	width: 18%;		/*画像の幅*/
	margin: 0px 1% 15px;	/*画像の外側に空けるスペース。左から、上(0px)、左右(1%)、下(15px)への設定。*/
	border-radius: 50%;		/*角丸のサイズ。50%にすると円形になる。正方形がいいなら、この１行削除する。*/
}

/*フッター(ページ最下部のcopyrightのパーツ)設定
---------------------------------------------------------------------------*/
footer {
	clear: both;
	text-align: center;	/*文字をセンタリング*/
	padding: 10px 0px;	/*左から、上下、左右への余白*/
	color: #000;		/*文字色*/
}
footer a {
	text-decoration: none;
	border: none;
	color: #000;	/*文字色*/
}
footer .pr {
	display: block;
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#new dl {
	padding-left: 20px;
	margin-bottom: 15px;
}

/*活動ナビゲーション（メニューバーと同じデザイン）
---------------------------------------------------------------------------*/
.activities-nav {
	text-align: center;	/*文字をセンタリング*/
	margin-bottom: 3%;	/*メニューの下に空けるスペース*/
	background: #f8f8f8;	/*背景色を追加*/
	border-radius: 8px;	/*角丸を追加*/
	padding: 15px 0;	/*パディングを追加*/
	border: 2px solid #e0e0e0;	/*ボーダーを追加*/
}

/*協力団体ナビゲーション（メニューバーと同じデザイン）
---------------------------------------------------------------------------*/
.partners-nav {
	text-align: center;	/*文字をセンタリング*/
	margin-bottom: 3%;	/*メニューの下に空けるスペース*/
	background: #f8f8f8;	/*背景色を追加*/
	border-radius: 8px;	/*角丸を追加*/
	padding: 15px 0;	/*パディングを追加*/
	border: 2px solid #e0e0e0;	/*ボーダーを追加*/
}
.activities-nav li {
	display: inline-block;	/*インラインブロックに変更*/
	margin: 5px 8px;	/*上下左右のマージンを追加*/
	vertical-align: top;	/*上揃えに設定*/
}
.activities-nav li a {
	text-decoration: none;
	border: 2px solid transparent;	/*枠線の幅(2px)、線種(solidは直線)、色(transparent)。「transparent」は「透明」の事で、下のマウスオン時の時に色が出るようにしています。「transparent」の代わりにカラーコードを入れてもOK。*/
	padding: 8px 15px;				/*10pxは上下に、20pxは左右へ空ける余白指定。*/
	color: #333;					/*文字色*/
	font-size: 16px;				/*文字サイズを少し大きくする設定。お好みで変更して下さい。*/
	letter-spacing: 0.1em;			/*文字感覚を少し広くする設定。広くしないでいいなら、この１行を削除。*/
	border-radius: 6px;	/*角丸を追加*/
	transition: all 0.3s ease;	/*トランジション効果を追加*/
	background: #fff;	/*背景色を追加*/
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);	/*影を追加*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	display: block;	/*ブロック表示に変更*/
	line-height: 1.4;	/*行間を調整*/
}
/*マウスオン時の設定*/
.activities-nav li a:hover {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	border-radius: 6px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色を変更*/
	transform: translateY(-2px);	/*少し上に移動*/
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);	/*影を強調*/
}

.partners-nav li {
	display: inline-block;	/*インラインブロックに変更*/
	margin: 5px 8px;	/*上下左右のマージンを追加*/
	vertical-align: top;	/*上揃えに設定*/
}

.partners-nav li a {
	text-decoration: none;
	border: 2px solid transparent;	/*枠線の幅(2px)、線種(solidは直線)、色(transparent)。「transparent」は「透明」の事で、下のマウスオン時の時に色が出るようにしています。「transparent」の代わりにカラーコードを入れてもOK。*/
	padding: 8px 15px;				/*10pxは上下に、20pxは左右へ空ける余白指定。*/
	color: #333;					/*文字色*/
	font-size: 16px;				/*文字サイズを少し大きくする設定。お好みで変更して下さい。*/
	letter-spacing: 0.1em;			/*文字感覚を少し広くする設定。広くしないでいいなら、この１行を削除。*/
	border-radius: 6px;	/*角丸を追加*/
	transition: all 0.3s ease;	/*トランジション効果を追加*/
	background: #fff;	/*背景色を追加*/
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);	/*影を追加*/
	white-space: normal;	/*テキストの改行を許可*/
	word-wrap: break-word;	/*長い単語の改行を許可*/
	overflow-wrap: break-word;	/*長い単語の改行を許可（モダンブラウザ）*/
	display: block;	/*ブロック表示に変更*/
	line-height: 1.4;	/*行間を調整*/
}

/*マウスオン時の設定*/
.partners-nav li a:hover {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	border-radius: 6px;	/*角丸のサイズ。大きくすれば角の丸みが大きくなる。角丸が不要ならこの１行削除。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色を変更*/
	transform: translateY(-2px);	/*少し上に移動*/
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);	/*影を強調*/
}
/*日付設定*/
#new dt {
	font-weight: bold;	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
}
/*記事設定*/
#new dd {
	padding-left: 8em;
}

/*イベントカード表示
---------------------------------------------------------------------------*/
.event-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 20px;
	margin-top: 15px;
	margin-bottom: 30px;
}

.event-card {
	background: #fff;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	padding: 15px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
	overflow: hidden;
}

.event-card:hover {
	border-color: #fedf16;
	box-shadow: 0 4px 8px rgba(254,223,22,0.2);
	transform: translateY(-2px);
}

.event-date {
	font-weight: bold;
	color: #333;
	font-size: 14px;
	margin-bottom: 8px;
	padding: 4px 8px;
	background: #f8f8f8;
	border-radius: 4px;
	border-left: 4px solid #fedf16;
}

.event-content {
	line-height: 1.6;
}

.event-content a {
	text-decoration: none;
	color: #000;
	display: block;
	padding: 8px 0;
	transition: color 0.2s ease;
}

.event-content a:hover {
	color: #fedf16;
}

/*イベントカテゴリー表示
---------------------------------------------------------------------------*/
.event-category {
	display: inline-block;
	padding: 4px 12px;
	margin-bottom: 8px;
	background: #fedf16;
	color: #000;
	font-size: 12px;
	font-weight: bold;
	border-radius: 4px;
	letter-spacing: 0.05em;
}

/*活動カード表示
---------------------------------------------------------------------------*/
.activity-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 20px;
	padding: 0 20px 20px 20px;
}

.activity-card {
	background: #fedf16;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	padding: 5px;
}

.activity-card:hover {
	border-color: #fedf16;
	box-shadow: 0 4px 8px rgba(254,223,22,0.2);
	transform: translateY(-2px);
}

.activity-card a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 25px 15px;
	text-decoration: none;
	color: #000;
	min-height: 130px;
	background: #fff;
	border-radius: 4px;
}

.activity-card h3 {
	margin: 0 0 5px 0;
	padding: 0;
	border: none;
	font-size: 20px;
	font-weight: bold;
	color: #000;
	border-radius: 0;
	line-height: 1.3;
}

.activity-card p {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #666;
}

.activity-card a:hover h3 {
	color: #fedf16;
}

/*協力団体カード表示
---------------------------------------------------------------------------*/
.partner-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 20px;
	margin-top: 20px;
	padding: 0 20px 20px 20px;
}

.partner-card {
	background: #fedf16;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	overflow: hidden;
	transition: all 0.3s ease;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	padding: 5px;
}

.partner-card:hover {
	border-color: #fedf16;
	box-shadow: 0 4px 8px rgba(254,223,22,0.2);
	transform: translateY(-2px);
}

.partner-card a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	padding: 25px 15px;
	text-decoration: none;
	color: #000;
	min-height: 130px;
	background: #fff;
	border-radius: 4px;
}

.partner-card h3 {
	margin: 0 0 5px 0;
	padding: 0;
	border: none;
	font-size: 20px;
	font-weight: bold;
	color: #000;
	border-radius: 0;
	line-height: 1.3;
}

.partner-card p {
	margin: 0;
	padding: 0;
	font-size: 13px;
	line-height: 1.5;
	color: #666;
}

.partner-card a:hover h3 {
	color: #fedf16;
}

/*動画カード表示
---------------------------------------------------------------------------*/
.video-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 25px;
	margin-top: 15px;
	margin-bottom: 30px;
}

.video-card {
	background: #fff;
	border: 2px solid #e0e0e0;
	border-radius: 8px;
	padding: 20px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
	transition: all 0.3s ease;
	overflow: hidden;
}

.video-card:hover {
	border-color: #fedf16;
	box-shadow: 0 4px 8px rgba(254,223,22,0.2);
	transform: translateY(-2px);
}

.video-date {
	font-weight: bold;
	color: #333;
	font-size: 14px;
	margin-bottom: 12px;
	padding: 6px 10px;
	background: #f8f8f8;
	border-radius: 4px;
	border-left: 4px solid #ff0000;
}

.video-content {
	line-height: 1.6;
}

.video-content a {
	text-decoration: none;
	color: #000;
	display: block;
	padding: 8px 0 12px 0;
	transition: color 0.2s ease;
	font-weight: 500;
}

.video-content a:hover {
	color: #ff0000;
}

.video-card .video-player {
	margin: 15px 0 0 0;
	text-align: center;
}

.video-card .video-player iframe {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	border: 2px solid #e0e0e0;
}

/*テーブル
---------------------------------------------------------------------------*/
/*tテーブルブロック設定*/
.ta1 {
	width: 100%;
	margin-bottom: 15px;
}
.ta1, .ta1 td, .ta1 th {
	border: 2px solid #000;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;			/*テーブル内の余白*/
	word-break: break-all;
}
/*テーブル１行目に入った見出し部分*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*テーブルの左側ボックス*/
.ta1 th {
	width: 30%;	/*幅*/
	text-align: center;	/*センタリング*/
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #e5e5e5;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.color1 {color:#FF5700;}
.pr {font-size: 10px;}



/*画面幅600px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:600px){

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	width: 95%;		/*ブロックの幅を画面の95%にする設定。*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
	padding: 3% 0px;	/*スマホでは余白を少し縮小*/
}

/*ロゴ画像設定*/
#logo img {
	width: 90%;			/*画像幅を90%に拡大*/
	max-width: 400px;	/*最大幅を400pxに調整*/
}

/*メニュー
---------------------------------------------------------------------------*/
#menubar {
	margin-bottom: 2%;	/*メニューの下の余白を縮小*/
	padding: 10px 0;	/*パディングを調整*/
}

#menubar li {
	margin: 3px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

#menubar li a {
	padding: 6px 12px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	letter-spacing: 0.05em;	/*文字間隔を調整*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	line-height: 1.3;	/*行間を調整*/
}

/*活動ナビゲーション（600px以下）
---------------------------------------------------------------------------*/
.activities-nav {
	margin-bottom: 2%;	/*メニューの下の余白を縮小*/
	padding: 10px 0;	/*パディングを調整*/
}

.activities-nav li {
	margin: 3px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

.activities-nav li a {
	padding: 6px 12px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	letter-spacing: 0.05em;	/*文字間隔を調整*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	line-height: 1.3;	/*行間を調整*/
}

/*協力団体ナビゲーション（600px以下）
---------------------------------------------------------------------------*/
.partners-nav {
	margin-bottom: 2%;	/*メニューの下の余白を縮小*/
	padding: 10px 0;	/*パディングを調整*/
}

.partners-nav li {
	margin: 3px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

.partners-nav li a {
	padding: 6px 12px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	letter-spacing: 0.05em;	/*文字間隔を調整*/
	white-space: normal;	/*テキストの改行を許可*/
	word-wrap: break-word;	/*長い単語の改行を許可*/
	overflow-wrap: break-word;	/*長い単語の改行を許可（モダンブラウザ）*/
	line-height: 1.3;	/*行間を調整*/
}

/*コンテンツ（囲み枠のついたブロック）
---------------------------------------------------------------------------*/
#contents {
	padding: 3%;		/*パディングを調整*/
}

#contents h2 {
	padding: 8px 15px;	/*パディングを調整*/
	font-size: 16px;	/*フォントサイズを調整*/
}

#contents h3 {
	padding: 6px 15px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
}

#contents p {
	padding: 5px 15px 10px;	/*パディングを調整*/
	font-size: 13px;	/*フォントサイズを調整*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
#new dl {
	padding-left: 15px;
	margin-bottom: 10px;
}

#new dt {
	width: 7em;
	font-size: 12px;
}

#new dd {
	padding-left: 7em;
	font-size: 13px;
}

/*イベントカード表示（600px以下）
---------------------------------------------------------------------------*/
.event-cards {
	grid-template-columns: 1fr;
	gap: 15px;
	margin-bottom: 25px;
}

.event-card {
	padding: 12px;
}

.event-date {
	font-size: 13px;
	padding: 3px 6px;
}

.event-content {
	font-size: 13px;
}

.event-content a {
	padding: 6px 0;
}

/*イベントカテゴリー表示（600px以下）
---------------------------------------------------------------------------*/
.event-category {
	font-size: 11px;
	padding: 3px 10px;
	margin-bottom: 6px;
}

/*活動カード表示（600px以下）
---------------------------------------------------------------------------*/
.activity-cards {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
	padding: 0 15px 15px 15px;
}

.activity-card {
	padding: 4px;
}

.activity-card a {
	padding: 20px 12px;
	min-height: 110px;
}

.activity-card h3 {
	font-size: 18px;
	margin-bottom: 5px;
	line-height: 1.3;
}

.activity-card p {
	font-size: 12px;
	line-height: 1.5;
}

/*協力団体カード表示（600px以下）
---------------------------------------------------------------------------*/
.partner-cards {
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 15px;
	padding: 0 15px 15px 15px;
}

.partner-card {
	padding: 4px;
}

.partner-card a {
	padding: 20px 12px;
	min-height: 110px;
}

.partner-card h3 {
	font-size: 18px;
	margin-bottom: 5px;
	line-height: 1.3;
}

.partner-card p {
	font-size: 12px;
	line-height: 1.5;
}

/*動画カード表示（600px以下）
---------------------------------------------------------------------------*/
.video-cards {
	grid-template-columns: 1fr;
	gap: 20px;
	margin-bottom: 25px;
}

.video-card {
	padding: 15px;
}

.video-date {
	font-size: 13px;
	padding: 4px 8px;
	margin-bottom: 10px;
}

.video-content {
	font-size: 13px;
}

.video-content a {
	padding: 6px 0 10px 0;
}

.video-card .video-player {
	margin: 12px 0 0 0;
}

/*活動リンクとパートナーリンク
---------------------------------------------------------------------------*/
.activities-links,
.partners-links {
	font-size: 13px;
	line-height: 1.8;
}

.activities-links a,
.partners-links a {
	display: inline-block;
	margin: 2px 5px 2px 0;
	padding: 3px 8px;
	background: #f5f5f5;
	border-radius: 4px;
	text-decoration: none;
}

.activities-links a:hover,
.partners-links a:hover {
	background: #e0e0e0;
}

/*動画コンテンツ
---------------------------------------------------------------------------*/
.videos-links {
	font-size: 13px;
	line-height: 1.8;
}

.videos-links h3 {
	margin: 15px 0 8px 0;
	padding: 4px 12px;
	font-size: 14px;
}

.videos-links dl {
	padding-left: 15px;
	margin-bottom: 10px;
}

.videos-links dt {
	width: 7em;
	font-size: 12px;
}

.videos-links dd {
	padding-left: 7em;
	font-size: 13px;
}

/*動画プレーヤー
---------------------------------------------------------------------------*/
.video-player {
	margin: 10px 0;
}

.video-player iframe {
	border-radius: 6px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/*動画コンテンツ
---------------------------------------------------------------------------*/
.videos-links {
	font-size: 13px;
	line-height: 1.8;
}

.videos-links h3 {
	clear: both;
	margin: 20px 0 10px 0;
	padding: 5px 15px;
	border-radius: 4px;
	border: 2px solid #fedf16;
	background: #fff8e0;
	color: #333;
	font-size: 16px;
}

.videos-links dl {
	padding-left: 20px;
	margin-bottom: 15px;
}

.videos-links dt {
	font-weight: bold;
	float: left;
	width: 8em;
	color: #666;
}

.videos-links dd {
	padding-left: 8em;
	margin-bottom: 8px;
}

.videos-links dd a {
	display: block;
	padding: 5px 8px;
	background: #f9f9f9;
	border-radius: 4px;
	text-decoration: none;
	border-left: 3px solid #ff0000;
	transition: all 0.2s ease;
}

.videos-links dd a:hover {
	background: #ffe0e0;
	transform: translateX(3px);
}

/*動画プレーヤー
---------------------------------------------------------------------------*/
.video-player {
	margin: 15px 0;
	text-align: center;
}

.video-player iframe {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	box-shadow: 0 4px 8px rgba(0,0,0,0.1);
	border: 2px solid #e0e0e0;
}

}



/*画面幅480px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:480px){

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	width: 98%;		/*ブロックの幅を画面の98%にする設定。*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
	padding: 2% 0px;	/*さらに余白を縮小*/
}

/*ロゴ画像設定*/
#logo img {
	width: 95%;			/*画像幅を95%に拡大*/
	max-width: 350px;	/*最大幅を350pxに調整*/
}

/*メニュー
---------------------------------------------------------------------------*/
/*メニュー１個あたりの設定*/
#menubar li {
	display: block;	/*メニューを「横並び」から「縦並び」に変更する設定*/
	margin-bottom: 8px;
}

#menubar li a {
	padding: 12px 20px;	/*パディングを拡大*/
	font-size: 16px;	/*フォントサイズを調整*/
	display: block;		/*ブロック表示に変更*/
	border-radius: 8px;	/*角丸を追加*/
	text-align: center;	/*中央揃え*/
	margin: 0 10px;	/*左右のマージン*/
}

/*現在のページの設定（スマートフォン）*/
#menubar li.current a {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色*/
	font-weight: bold;	/*太字*/
	box-shadow: 0 2px 4px rgba(254,223,22,0.3);	/*影*/
}

/*活動ナビゲーション（480px以下）
---------------------------------------------------------------------------*/
.activities-nav li {
	display: block;	/*メニューを「横並び」から「縦並び」に変更する設定*/
	margin-bottom: 8px;
}

.activities-nav li a {
	padding: 12px 20px;	/*パディングを拡大*/
	font-size: 16px;	/*フォントサイズを調整*/
	display: block;		/*ブロック表示に変更*/
	border-radius: 8px;	/*角丸を追加*/
	text-align: center;	/*中央揃え*/
	margin: 0 10px;	/*左右のマージン*/
}

.partners-nav li {
	display: block;	/*メニューを「横並び」から「縦並び」に変更する設定*/
	margin-bottom: 8px;
}

.partners-nav li a {
	padding: 12px 20px;	/*パディングを拡大*/
	font-size: 16px;	/*フォントサイズを調整*/
	display: block;		/*ブロック表示に変更*/
	border-radius: 8px;	/*角丸を追加*/
	text-align: center;	/*中央揃え*/
	margin: 0 10px;	/*左右のマージン*/
	white-space: normal;	/*テキストの改行を許可*/
	word-wrap: break-word;	/*長い単語の改行を許可*/
	overflow-wrap: break-word;	/*長い単語の改行を許可（モダンブラウザ）*/
}

/*コンテンツ（囲み枠のついたブロック）
---------------------------------------------------------------------------*/
#contents {
	padding: 2%;		/*パディングをさらに調整*/
	border-width: 3px;	/*ボーダーを細く*/
}

#contents h2 {
	padding: 10px 12px;	/*パディングを調整*/
	font-size: 18px;	/*フォントサイズを拡大*/
	margin-bottom: 12px;
}

#contents h3 {
	padding: 8px 12px;	/*パディングを調整*/
	font-size: 16px;	/*フォントサイズを拡大*/
	margin-bottom: 12px;
}

#contents p {
	padding: 8px 12px 12px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを拡大*/
	line-height: 1.6;	/*行間を調整*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
#new dl {
	padding-left: 10px;
	margin-bottom: 8px;
}

#new dt {
	width: auto;
	float: none;
	display: block;
	font-size: 13px;
	margin-bottom: 2px;
	color: #666;
}

#new dd {
	padding-left: 0;
	font-size: 14px;
	margin-bottom: 8px;
	line-height: 1.5;
}

#new dd a {
	display: block;
	padding: 5px 8px;
	background: #f9f9f9;
	border-radius: 4px;
	text-decoration: none;
}

#new dd a:hover {
	background: #e9e9e9;
}

/*イベントカード表示（480px以下）
---------------------------------------------------------------------------*/
.event-cards {
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 10px;
	margin-bottom: 20px;
}

.event-card {
	padding: 10px;
	border-width: 1px;
}

.event-date {
	font-size: 12px;
	padding: 2px 4px;
	margin-bottom: 6px;
}

.event-content {
	font-size: 13px;
	line-height: 1.5;
}

.event-content a {
	padding: 4px 0;
}

/*イベントカテゴリー表示（480px以下）
---------------------------------------------------------------------------*/
.event-category {
	font-size: 10px;
	padding: 2px 8px;
	margin-bottom: 6px;
}

/*活動カード表示（480px以下）
---------------------------------------------------------------------------*/
.activity-cards {
	grid-template-columns: 1fr;
	gap: 12px;
	padding: 0 10px 10px 10px;
}

.activity-card {
	padding: 4px;
}

.activity-card a {
	padding: 18px 12px;
	min-height: 95px;
}

.activity-card h3 {
	font-size: 17px;
	margin-bottom: 5px;
	line-height: 1.3;
}

.activity-card p {
	font-size: 12px;
	line-height: 1.5;
}

/*協力団体カード表示（480px以下）
---------------------------------------------------------------------------*/
.partner-cards {
	grid-template-columns: 1fr;
	gap: 12px;
	padding: 0 10px 10px 10px;
}

.partner-card {
	padding: 4px;
}

.partner-card a {
	padding: 18px 12px;
	min-height: 95px;
}

.partner-card h3 {
	font-size: 17px;
	margin-bottom: 5px;
	line-height: 1.3;
}

.partner-card p {
	font-size: 12px;
	line-height: 1.5;
}

/*動画カード表示（480px以下）
---------------------------------------------------------------------------*/
.video-cards {
	grid-template-columns: 1fr;
	gap: 15px;
	margin-top: 10px;
	margin-bottom: 20px;
}

.video-card {
	padding: 12px;
	border-width: 1px;
}

.video-date {
	font-size: 12px;
	padding: 3px 6px;
	margin-bottom: 8px;
}

.video-content {
	font-size: 13px;
	line-height: 1.5;
}

.video-content a {
	padding: 4px 0 8px 0;
}

.video-card .video-player {
	margin: 10px 0 0 0;
}

.video-card .video-player iframe {
	border-radius: 6px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.15);
	border: 1px solid #d0d0d0;
}

/*活動リンクとパートナーリンク
---------------------------------------------------------------------------*/
.activities-links,
.partners-links {
	font-size: 14px;
	line-height: 1.6;
}

.activities-links a,
.partners-links a {
	display: block;
	margin: 3px 0;
	padding: 8px 12px;
	background: #f5f5f5;
	border-radius: 6px;
	text-decoration: none;
	border-left: 4px solid #fedf16;
}

.activities-links a:hover,
.partners-links a:hover {
	background: #e0e0e0;
	transform: translateX(3px);
	transition: all 0.2s ease;
}

/*動画コンテンツ
---------------------------------------------------------------------------*/
.videos-links {
	font-size: 14px;
	line-height: 1.6;
}

.videos-links h3 {
	margin: 15px 0 10px 0;
	padding: 6px 12px;
	font-size: 16px;
}

.videos-links dl {
	padding-left: 10px;
	margin-bottom: 8px;
}

.videos-links dt {
	width: auto;
	float: none;
	display: block;
	font-size: 13px;
	margin-bottom: 2px;
	color: #666;
}

.videos-links dd {
	padding-left: 0;
	font-size: 14px;
	margin-bottom: 8px;
	line-height: 1.5;
}

.videos-links dd a {
	display: block;
	padding: 6px 10px;
	background: #f9f9f9;
	border-radius: 4px;
	text-decoration: none;
	border-left: 4px solid #ff0000;
}

.videos-links dd a:hover {
	background: #ffe0e0;
	transform: translateX(3px);
	transition: all 0.2s ease;
}

/*動画プレーヤー
---------------------------------------------------------------------------*/
.video-player {
	margin: 12px 0;
}

.video-player iframe {
	border-radius: 8px;
	box-shadow: 0 3px 6px rgba(0,0,0,0.15);
	border: 1px solid #d0d0d0;
}

/*フッター
---------------------------------------------------------------------------*/
footer {
	padding: 15px 0px;
	font-size: 12px;
}

footer .pr {
	margin-top: 8px;
}

/*Galleryページ
---------------------------------------------------------------------------*/
/*画像の設定*/
.list figure img {
	width: 48%;		/*画像の幅*/
}

/*トップページ内「更新情報・お知らせ」ブロック
---------------------------------------------------------------------------*/
#new h2.open {
	background: #000 url(../images/btn_minus.png) no-repeat right center/34px 34px;
}
#new h2.close {
	background: #000 url(../images/btn_plus.png) no-repeat right center/34px 34px;
}

	/*テーブル
---------------------------------------------------------------------------*/
/*tテーブルブロック設定*/
.ta1, .ta1 td, .ta1 th {
	padding: 5px;			/*テーブル内の余白*/
}

}

/*画面幅320px以下の設定（超小型スマホ対応）
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:320px){

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	width: 100%;		/*ブロックの幅を画面の100%にする設定。*/
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
header {
	padding: 1% 0px;	/*さらに余白を縮小*/
}

/*ロゴ画像設定*/
#logo img {
	width: 100%;			/*画像幅を100%に拡大*/
	max-width: none;	/*最大幅制限を解除*/
}

/*メニュー
---------------------------------------------------------------------------*/
#menubar {
	padding: 8px 0;	/*パディングを調整*/
}

#menubar li {
	margin: 2px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

#menubar li a {
	padding: 10px 15px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	line-height: 1.3;	/*行間を調整*/
}

/*現在のページの設定（320px以下）*/
#menubar li.current a {
	border: 2px solid #fedf16;	/*枠線の幅、線種、色。*/
	background: #fedf16;	/*背景色*/
	color: #000;	/*文字色*/
	font-weight: bold;	/*太字*/
	box-shadow: 0 1px 3px rgba(254,223,22,0.3);	/*影*/
}

/*活動ナビゲーション（320px以下）
---------------------------------------------------------------------------*/
.activities-nav li {
	margin: 2px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

.activities-nav li a {
	padding: 10px 15px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	white-space: nowrap;	/*文字の改行を防ぐ*/
	line-height: 1.3;	/*行間を調整*/
}

.partners-nav li {
	margin: 2px 5px;	/*上下左右のマージンを調整*/
	display: inline-block;	/*インラインブロックに変更*/
	vertical-align: top;	/*上揃えに設定*/
}

.partners-nav li a {
	padding: 10px 15px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
	white-space: normal;	/*テキストの改行を許可*/
	word-wrap: break-word;	/*長い単語の改行を許可*/
	overflow-wrap: break-word;	/*長い単語の改行を許可（モダンブラウザ）*/
	line-height: 1.3;	/*行間を調整*/
}

/*コンテンツ（囲み枠のついたブロック）
---------------------------------------------------------------------------*/
#contents {
	padding: 1%;		/*パディングを最小に*/
	border-width: 2px;	/*ボーダーをさらに細く*/
}

#contents h2 {
	padding: 8px 10px;	/*パディングを調整*/
	font-size: 16px;	/*フォントサイズを調整*/
}

#contents h3 {
	padding: 6px 10px;	/*パディングを調整*/
	font-size: 14px;	/*フォントサイズを調整*/
}

#contents p {
	padding: 6px 10px 10px;	/*パディングを調整*/
	font-size: 13px;	/*フォントサイズを調整*/
}

/*活動リンクとパートナーリンク
---------------------------------------------------------------------------*/
.activities-links,
.partners-links {
	font-size: 13px;
}

.activities-links a,
.partners-links a {
	padding: 6px 10px;	/*パディングを調整*/
}

/*動画コンテンツ
---------------------------------------------------------------------------*/
.videos-links {
	font-size: 13px;
}

.videos-links h3 {
	margin: 10px 0 8px 0;
	padding: 4px 10px;
	font-size: 14px;
}

.videos-links dd a {
	padding: 5px 8px;	/*パディングを調整*/
}

/*動画プレーヤー
---------------------------------------------------------------------------*/
.video-player {
	margin: 8px 0;
}

.video-player iframe {
	border-radius: 4px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/*イベントカード表示（320px以下）
---------------------------------------------------------------------------*/
.event-cards {
	grid-template-columns: 1fr;
	gap: 10px;
	margin-top: 8px;
	margin-bottom: 18px;
}

.event-card {
	padding: 8px;
	border-width: 1px;
}

.event-date {
	font-size: 11px;
	padding: 2px 3px;
	margin-bottom: 4px;
}

.event-content {
	font-size: 12px;
	line-height: 1.4;
}

.event-content a {
	padding: 3px 0;
}

/*イベントカテゴリー表示（320px以下）
---------------------------------------------------------------------------*/
.event-category {
	font-size: 9px;
	padding: 2px 6px;
	margin-bottom: 4px;
}

/*活動カード表示（320px以下）
---------------------------------------------------------------------------*/
.activity-cards {
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 0 8px 8px 8px;
}

.activity-card {
	padding: 3px;
}

.activity-card a {
	padding: 15px 10px;
	min-height: 85px;
}

.activity-card h3 {
	font-size: 15px;
	margin-bottom: 4px;
	line-height: 1.3;
}

.activity-card p {
	font-size: 11px;
	line-height: 1.5;
}

/*協力団体カード表示（320px以下）
---------------------------------------------------------------------------*/
.partner-cards {
	grid-template-columns: 1fr;
	gap: 10px;
	padding: 0 8px 8px 8px;
}

.partner-card {
	padding: 3px;
}

.partner-card a {
	padding: 15px 10px;
	min-height: 85px;
}

.partner-card h3 {
	font-size: 15px;
	margin-bottom: 4px;
	line-height: 1.3;
}

.partner-card p {
	font-size: 11px;
	line-height: 1.5;
}

/*動画カード表示（320px以下）
---------------------------------------------------------------------------*/
.video-cards {
	grid-template-columns: 1fr;
	gap: 12px;
	margin-top: 8px;
	margin-bottom: 18px;
}

.video-card {
	padding: 10px;
	border-width: 1px;
}

.video-date {
	font-size: 11px;
	padding: 2px 4px;
	margin-bottom: 6px;
}

.video-content {
	font-size: 12px;
	line-height: 1.4;
}

.video-content a {
	padding: 3px 0 6px 0;
}

.video-card .video-player {
	margin: 8px 0 0 0;
}

.video-card .video-player iframe {
	border-radius: 4px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

}
