@charset "utf-8";


/*PC・タブレット・スマホ(全端末)共通設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/

/*全体の設定
---------------------------------------------------------------------------*/
body {
	margin: 0px;
	padding: 0px;
	-webkit-text-size-adjust: none;
	color: #000000;	/*全体の文字色*/
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;	/*フォント種類*/
	font-size: 16px;	/*文字サイズ*/
	line-height: 2;		/*行間*/
	background: #fff;	/*背景色*/
}
h1,h2,h3,p,ul,li,dl,dt,dd {margin: 0px;padding: 0px;font-size: 100%;font-weight: normal;}
ul {list-style-type: none;}

/*リンク（全般）設定
---------------------------------------------------------------------------*/
a {
	text-decoration: none;
	color: #7e1946;	/*リンクテキストの色*/
	transition: 0.1s;	/*マウスオン時の移り変わるまでの時間設定。0.1秒。*/
}
a:hover {
	border-bottom: 1.5px solid #7e1946;
}

/*コンテナー（ホームページを囲む一番外側のブロック）
---------------------------------------------------------------------------*/
#container {
	max-width: 1400px;	/*ブロックの最大幅*/
	margin: 0 auto;
	padding: 0 3%;
}

/*ヘッダー（ロゴが入った最上段のブロック）
---------------------------------------------------------------------------*/
/*headerブロック*/
header {
	display: flex;
	justify-content: space-between; /* 両端に配置 */
	align-items: center;            /* 縦方向の中央揃え */
	padding: 0px 0;
	margin-bottom: 30px;
	border-bottom: 2px solid #aaa;  /* ヘッダーとコンテンツの区切り線をうっすら追加 */}

header h1 {
	font-size: 30px;
	font-weight: bold;
}

header h1 a {
	color: #333; /* タイトルは黒系に変更 */
	border: none;
}

header h1 a:hover {
	color: #7e1946;
	border: none;
}

/*メニュー
---------------------------------------------------------------------------*/
#menubar ul {
	display: flex; /* メニュー項目を横並びに */
	gap: 5px;     /* メニュー同士の間隔 */
}
#menubar li a {
	font-size: 15px;
	padding: 5px 10px;
	color: #777;   /* ホバーしていないときの色（薄いグレー） */
	border-bottom: 1.5px solid transparent; /* ホバー時のガタつき防止用の透明な線 */
}
/*マウスオン時の設定*/
#menubar li a:hover {
	color: #7e1946;	/*文字色*/
	/*border-bottom: 1.5px solid #7e1946;*/
}

/*コンテンツ（見出しバーや文字などが入っているブロック）
---------------------------------------------------------------------------*/
/*コンテンツのh2タグの設定*/
#contents h2 {
	clear: both;
	margin-bottom: 20px;
	color: #fff;		/*文字色*/
	padding: 5px 20px;	/*上下、左右への余白*/
	background: #7e1946;	/*背景色*/
	border-radius: 10px;	/*角を丸くする指定。この１行を削除すれば角丸がなくなります。*/
	font-size: 20px;
	font-weight: bold;	/*太字にする設定*/
}
/*コンテンツのh3タグの設定*/
#contents h3 {
	clear: both;
	margin-bottom: 20px;
	padding: 0px 20px;	/*上下、左右への余白*/
	background: #fff;	/*背景色*/
	border: 1px solid #ccc;	/*枠線の幅、線種、色*/
	border-radius: 10px;	/*角を丸くする指定。この１行を削除すれば角丸がなくなります。*/
	font-size: 18px;
	font-weight: bold;	/*太字にする設定*/
}
/*コンテンツのp(段落)タグ設定*/
#contents p {
	padding: 0px 10px 10px;	/*上、左右、下への余白*/
}
/*他。微調整。*/
#contents p + p {
	margin-top: -5px;
}
#contents h2 + p,
#contents h3 + p {
	margin-top: -10px;
}
#contents section + section {
	margin-top: 30px;
}

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

/*トップページ内「お知らせ」ブロック
---------------------------------------------------------------------------*/
/*ブロック全体の設定*/
#news dl {
	padding: 0px 20px;	/*上下、左右へのブロック内の余白*/
	margin-bottom: 20px;	/*ブロックの下(外側)に空ける余白*/
}
/*日付設定*/
#news dt {
	font-weight: bold;	/*太字にする設定。標準がいいならこの行削除。*/
	float: left;
	width: 8em;
}
/*記事設定*/
#news dd {
	padding-left: 8em;
}

/*テーブル
---------------------------------------------------------------------------*/
/*テーブル１行目に入った見出し部分（※caption）*/
.ta1 caption {
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	border-bottom: none;	/*下線だけ消す*/
	text-align: left;		/*文字を左寄せ*/
	background: #eee;		/*背景色*/
	font-weight: bold;		/*太字に*/
	padding: 10px;			/*ボックス内の余白*/
}
/*テーブル１行目に入った見出し部分（※tamidashi）*/
.ta1 th.tamidashi {
	width: auto;
	text-align: left;	/*左よせ*/
	background: #eee;	/*背景色*/
}
/*ta1テーブルブロック設定*/
.ta1 {
	table-layout: fixed;
	width: 100%;
	margin: 0 auto 20px;
}
.ta1, .ta1 td, .ta1 th {
	word-break: break-all;
	border: 1px solid #999;	/*テーブルの枠線の幅、線種、色*/
	padding: 10px;			/*テーブル内の余白*/
}
/*テーブルの左側ボックス*/
.ta1 th {
	text-align: center;	/*センタリング*/
	width: 30%;			/*幅*/
}

/*トップページのNEWアイコン
---------------------------------------------------------------------------*/
.newicon {
	background: #F00;	/*背景色*/
	color: #FFF;		/*文字色*/
	font-size: 70%;
	line-height: 1.5;
	padding: 2px 5px;
	border-radius: 2px;
	margin: 0px 5px;
	vertical-align: text-top;
}

/*その他
---------------------------------------------------------------------------*/
.look {background: #e5e5e5;padding: 5px 10px;border-radius: 4px;}
.mb15,.mb1em {margin-bottom: 15px;}
.color1 {color: #3d2d21;}
.pr {font-size: 12px;}
.wl {width: 96%;}
.ws {width: 50%;}
.c {text-align: center;}
.r {text-align: right;}
.l {text-align: left;}



/*画面幅600px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width: 600px) {
	/* ヘッダーを1行目(h1)と2行目(menubar)に分ける */
	header {
		flex-direction: column;   /* 縦並びに変更 */
		align-items: center;  /* 中央寄せ */
		gap: 10px;                /* h1とメニューの間隔 */
		padding-bottom: 15px;
	}
	
	/* メニュー項目が枠に収まらない場合は自動で折り返す */
	#menubar ul {
		flex-wrap: wrap;
		gap: 5px 0px;
	}

	/*メニュー*/
	#menubar li a {
		padding: 5px 10px; /* スマホ用に余白を少し詰める */
		font-size: 11px;   /* スマホ用にフォントサイズを微調整 */
	}
	
	/*全体の設定*/
	body {
		font-size: 14px;	/*文字サイズ*/
		line-height: 1.5;	/*行間*/
	}

	/* 各要素のフォントサイズ調整（追加）
	---------------------------------------------------------------------------*/
	header h1 {
		font-size: 22px;    /* タイトル（名前）：元の30pxから縮小 */
	}
	#contents h2 {
		font-size: 18px;    /* 各セクションの主見出し：元の20pxから縮小 */
	}
	#contents h3 {
		font-size: 16px;    /* 学歴や連絡先などの小見出し：スマホ向けに調整 */
	}
}
