@charset "UTF-8";

/* ==========================================================================
   基盤スタイル設定（参照CSSのカラー `#00A431` を完全移植）
   ========================================================================== */
html {
	overflow-y: scroll;
}
body {
	margin: 0 auto;
	padding: 0;
	color: #333333;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 16px;
	line-height: 1.7;
	background-color: #f8f9fa;
}

/* コンテナ設定 */
#container {
	width: 100%;
	background-color: #ffffff;
}

/* ==========================================================================
   1. ヘッダーエリア
   ========================================================================== */
.site-header {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 20px 15px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background-color: #ffffff;
}
.header-logo a {
	font-size: 20px;
	font-weight: bold;
	color: #111111;
	text-decoration: none;
	display: flex;
	align-items: center;
	transition: color 0.3s;
}
.header-logo a:hover {
	color: #0033cc;
}
.header-info {
	text-align: right;
	font-size: 13px;
	line-height: 1.6;
}
.header-tel {
	color: #00A431;
	font-weight: bold;
	font-size: 16px;
	display: block;
	margin-bottom: 4px;
}
.header-address a {
	color: #0000ee;
	text-decoration: none;
	border-bottom: 1px dotted #0000ee;
}
.header-address a:hover {
	color: #0033cc;
	border-bottom-color: #0033cc;
}

/* ==========================================================================
   2. グローバルナビゲーション（参照ファイルと同じ配色）
   ========================================================================== */
.global-nav {
	width: 100%;
	background: #f1f8f3;
	border-bottom: 2px solid #00A431;
	box-shadow: 0 4px 12px rgba(0,0,0,0.04);
}
.nav-menu {
	margin: 0 auto;
	padding: 0;
	width: 100%;
	max-width: 1100px;
	list-style: none;
	display: flex;
}
.nav-menu > li {
	flex: 1;
	text-align: center;
	border-right: 1px solid #d3d9de;
}
.nav-menu > li:first-child {
	border-left: 1px solid #d3d9de;
}
.nav-menu > li > a {
	display: block;
	padding: 15px 10px;
	color: #2e3e4f;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	line-height: 1.5;
	transition: background 0.3s, color 0.3s;
}

/* ★アクティブ状態（常時 #00A431） */
.nav-menu > li.active > a {
	background-color: #00A431 !important;
	color: #ffffff !important;
}

/* ★オンマウス（アクティブ以外の項目にホバー時：背景 #e2f0e6 / 文字 #00A431） */
.nav-menu > li:not(.active):hover > a {
	background-color: #00A431 !important;
	color: #ffffff !important;
}

/* ==========================================================================
   3. パンくずリスト & レイアウト構造
   ========================================================================== */
.topicPath {
	max-width: 1100px;
	margin: 15px auto;
	padding: 0 15px;
	box-sizing: border-box;
	list-style: none;
	font-size: 13px;
	color: #666666;
	line-height: 1.6;
}
.topicPath li {
	display: inline;
	white-space: normal;
}
.topicPath li a {
	color: #0000ee;
	text-decoration: none;
}
.topicPath li a:hover {
	color: #0033cc;
	text-decoration: underline;
}
.topicPath li::after {
	content: ">";
	margin: 0 8px;
	color: #999999;
}
.topicPath li:last-child::after {
	content: "";
}

/* ==========================================================================
   4. メインコンテンツ１カラムレイアウト用ラッパー（追加） 
   ========================================================================== */

#wrapper {
	max-width: 1100px;
	margin: 0 auto;
	padding: 10px 15px 60px;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 25px;
}
#contents {
	flex: 1;
	min-width: 0;
}

/* ==========================================================================
   5. 見出し・セクション共通装飾
   ========================================================================== */
.midashi-box {
	background: #ffffff;
	border: 1px solid #e3e6e8;
	border-left: 6px solid #00A431;
	padding: 15px 10px;
	margin-bottom: 25px;
	box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
.midashi-box h1 {
	margin: 0;
	color: #111111;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.4;
}
.section-block {
	background: #ffffff;
	border: 1px solid #e3e6e8;
	border-radius: 6px;
	padding: 30px;
	margin-bottom: 30px;
	box-shadow: 0 2px 5px rgba(0,0,0,0.02);
}
.content-title {
	font-size: 18px;
	font-weight: bold;
	color: #2e3e4f;
	border-bottom: 2px solid #2e3e4f;
	padding-bottom: 8px;
	margin: 0px 0 15px 0;
}
.intro-p {
	font-size: 16px;
	line-height: 1.8;
	color: #444444;
	background-color: #fcfdfe;
	padding: 20px;
	border: 1px solid #eeeeee;
	border-radius: 4px;
	margin-bottom: 25px;
}
.inline-link {
	color: #0000ee;
	font-weight: bold;
	text-decoration: none;
}
.inline-link:hover {
	color: #0033cc;
	text-decoration: underline;
}



.entry {
	width: 150px;
	font-size: 14px;
	font-weight: bold;
	text-decoration: none;
	display: block;
	text-align: center;
	color: #fff;
	background-color: #49a9d4;
	border-radius: 5px;
	margin: auto;
	background-image: -moz-linear-gradient(
    top,
    #ffa035 0%,
    #ff8300);
	background-image: -webkit-gradient(
    linear,left top,left bottom,
    from(#ffa035),
    to(#ff8300));
	line-height: 1;
	float: left;
}
.entry a {
	padding: 8px 2px;
	color: rgb(255, 255, 255);
	font-size: 110%;
	font-weight: bold;
	text-decoration: none;
	display: block;
}
.entry a:hover {
	color: rgb(255, 51, 0);
	margin-left: 0px;
	background-color: rgb(255, 204, 153);
}

/* ==========================================================================
   6. フッターエリア
   ========================================================================== */
#footer {
	background-color: #2e3e4f;
	color: #ffffff;
	padding: 40px 15px;
	margin-top: 50px;
	font-size: 14px;
	text-align: center;
}
#footer a {
	color: #ffffff !important;
	text-decoration: none;
	opacity: 0.8;
	padding: 5px 10px;
	display: inline-block;
}
#footer a:hover {
	opacity: 1;
	text-decoration: underline;
}
#footer ul.nl {
	margin: 0 0 15px 0;
	padding: 0;
	list-style: none;
}
#footer ul.nl li {
	display: inline-block;
	margin: 5px 10px;
}
#footer address {
	margin-top: 25px;
	padding-top: 25px;
	border-top: 1px solid rgba(255,255,255,0.1);
	line-height: 1.8;
	font-style: normal;
	color: #cccccc;
	font-size: 13px;
}

/* レスポンシブ対応 */
@media screen and (max-width: 900px) {
	.nav-menu {
		flex-direction: column;
	}
	.nav-menu > li {
		border-right: none;
		border-left: none;
		border-bottom: 1px solid #d3d9de;
		width: 100%;
		text-align: left;
	}
	.nav-menu > li > a {
		padding: 15px 20px;
	}
	#wrapper {
		flex-direction: column;
	}
}
