@charset "UTF-8";

/* 基本設定とモダンリセット */
:root {
	--base-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
	--primary-color: #666600;
	--secondary-color: #85714F;
	--accent-color: #0099CC;
	--link-color: #8CAFB1;
	--text-color: #333;
	--border-color: #CCCCCC;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	font-family: var(--base-font-family);
	margin: 0;
	padding: 0;
	text-align: center;
	background: url(../imegs/bg_body8.jpg) repeat-y top;
	color: var(--text-color);
	line-height: 1.6;
}

#wrapper {
	margin: 0 auto;
	padding: 0;
	width: 750px;
	text-align: left;
}

a img {
	border-style: none;
}

/* 見出し */
h1 { /* スクリーンリーダー向けテキスト */
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal !important;
}

h2 {
	font-size: 12px;
	padding: 10px 0 13px;
	margin: 0;
	font-weight: normal;
	color: var(--primary-color);
}

/* レイアウト */
#header .brock02 {
	width: 750px;
	padding-bottom: 30px; /* 元のheight:280pxに合わせる */
}

#contents {
	display: flex;
	gap: 40px; /* ナビとメインの間の余白 */
	padding: 10px 0 0;
}

#navi {
	width: 170px;
	flex-shrink: 0;
}

#main {
	width: 540px;
	flex-grow: 1;
	min-width: 0; /* Flexアイテム内のはみ出し防止 */
}

#footer {
	clear: both;
	margin-top: 20px;
	background: url(../imegs/f_bg.gif) no-repeat top;
	height: 100px;
	padding: 15px 0 0;
}

/* ナビゲーション */
#navi .box01,
#navi .box02,
#navi .box03,
#navi .box04,
#navi .box05 {
	margin-bottom: 10px;
}

#navi .box01 ul {
	margin: 0;
	padding: 0;
	list-style: none;
	background: url(../imegs/mainmanu.gif) no-repeat bottom;
	padding-bottom: 5px;
}

#navi .box01 .t01 a {
	display: block;
	padding: 3px 0 2px 10px;
	text-decoration: none;
	background: url(../imegs/navi_07.gif) no-repeat left center;
	border-bottom: 1px dotted var(--border-color);
	font-family: "ＭＳ Ｐ明朝", serif;
	font-size: 14px;
	color: var(--primary-color);
	transition: color 0.2s ease;
}

#navi .box01 .t01 a:hover {
	color: #000000;
}

#navi .box02 a,
#navi .box03 a,
#navi .box04 a,
#navi .box05 a {
	display: block;
	text-decoration: none;
	font-size: 0; /* 画像置換のためテキストを非表示 */
}

#navi .box02 a { background: url(../imegs/blog_02a.gif); height: 55px; }
#navi .box02 a:hover { background: url(../imegs/blog_02b.gif); }
#navi .box03 a { background: url(../imegs/mailmaga.gif); height: 55px; }
#navi .box04 a { background: url(../imegs/navi_08a.gif); height: 55px; }
#navi .box04 a:hover { background: url(../imegs/navi_08b.gif); }
#navi .box05 a { background: url(../imegs/otegarubaner.jpg); height: 300px; }
#navi .box05 a:hover { background: url(../imegs/otegarubaner2.jpg); }

/* メインコンテンツ */
.list {
	text-align: right;
	margin-bottom: 10px;
}

.list ul {
	font-size: 14px;
	margin: 0;
	padding: 0;
	color: #FF9900;
	list-style: none;
}

.list li {
	display: inline;
	margin-left: 10px;
}

.list a {
	color: #FF9900;
	text-decoration: none;
	transition: color 0.2s ease;
}
.list a:hover {
	color: #999999;
}

#main #tt {
	margin-bottom: 20px;
	display: block;
	max-width: 100%;
	height: auto;
}

.box, .box2 {
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dotted var(--border-color);
}

.box p, .box2 p {
	margin: 0;
	padding: 0;
	line-height: 1.8;
}
.box p { font-size: 14px; }
.box2 p { font-size: 12px; }

/* テーブル */
.hyo01, .hyo02 {
	border-collapse: collapse;
	width: 100%;
	font-size: 14px;
	margin-bottom: 20px;
}

.hyo01 th, .hyo01 td, .hyo02 th, .hyo02 td {
	padding: 8px;
	vertical-align: top;
	text-align: left;
}

.hyo01 th, .hyo01 td {
	border-bottom: 1px dotted var(--border-color);
}

.hyo02 th, .hyo02 td {
	border: 1px solid var(--border-color);
	line-height: 1.5;
}

.hyo02 th {
	font-weight: bold;
	color: var(--secondary-color);
	background-color: #f9f9f9;
}

/* Page Top ボタン */
.pt {
	text-align: right;
	margin-bottom: 20px;
}
.pt ul { margin: 0; padding: 0; list-style: none; }
.pt a {
	display: inline-block;
	width: 86px;
	height: 11px;
	background: url(../imegs/pt01.gif) no-repeat;
	font-size: 0;
}
.pt a:hover {
	background: url(../imegs/pt02.gif) no-repeat;
}

/* フッター */
#footer .brock01 ul {
	margin: 0;
	padding: 3px 0 0;
	list-style: none;
	text-align: center;
}
#footer .brock01 li {
	display: inline;
	font-size: 12px;
	color: var(--link-color);
}
#footer .brock01 a {
	color: var(--link-color);
	text-decoration: none;
	transition: color 0.2s ease;
}
#footer .brock01 a:hover {
	color: #999999;
}

#copyright {
	padding: 5px 0 0;
	text-align: center;
}
#copyright address {
	font-size: 10px;
	font-style: normal;
	color: var(--primary-color);
}
#copyright a {
	text-decoration: none;
	font-weight: bold;
	color: var(--primary-color);
	transition: color 0.2s ease;
}
#copyright a:hover {
	color: #006600;
}


/* レスポンシブ設定 (スマートフォン向け) */
@media screen and (max-width: 800px) {
	#wrapper {
		width: 100%;
	}

	#header, #header .brock02 {
		width: 100%;
		height: auto;
		background: none;
		padding-bottom: 10px;
	}

	#header .brock02 img {
		width: 100%;
		height: auto;
	}
	#header .brock02 img[src="imegs/top2.gif"] {
		width: auto; /* この画像は幅100%にしない */
	}

	#contents {
		flex-direction: column;
		gap: 0;
		padding: 0;
	}

	#navi {
		display: none;
	}

	#main {
		width: 100%;
		padding: 10px;
	}
	
	.list {
		padding-right: 10px;
	}
	
	.hyo01, .hyo02 {
		border: none;
	}

	.hyo02 thead { display: none; } /* テーブルヘッダーは非表示 */

	.hyo02 tr, .hyo02 td, .hyo02 th {
		display: block;
		width: 100%;
		text-align: left !important;
	}

	.hyo02 tr {
		border: 1px solid var(--border-color);
		margin-bottom: 10px;
	}

	.hyo02 th {
		border: none;
		border-bottom: 1px solid var(--border-color);
		background-color: #f5f5f5;
		font-weight: bold;
	}
	
	.hyo02 td {
		border: none;
		padding-left: 15px;
	}
	
	#footer {
		background: none;
		height: auto;
		padding: 20px 10px;
	}

	#footer .brock01 li {
		display: block;
		padding: 5px 0;
	}
}