@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置　独自の設定
==============================================================================*/
#wrapbg{
	min-width:950px;
}
#wrap{
	margin:0px auto 0px auto;
}
#header{
}
#guide{
	padding:30px 0px 30px 0px;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
body,input,select,textarea,button{
	font-family:Arial,"游ゴシック","Yu Gothic","游ゴシック体",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-weight:500;
}
body{
	color:#222222;
}
#wrap{
	font-size:100%;
}
#content,#content2,#content3{
	background:#FFFFFF;
}
#content,#content2,#content3{
	background:#FFFFFF;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#header{
	margin-bottom: 36px;
	padding-top: 16px;
	width: 100%;
	max-width: 1400px;
	min-width: 950px;
}
@media screen and (max-width:1400px){
#header{
	padding:16px 0px 0px 15px;
	box-sizing:border-box;
}
}
#tlogo{
	float:left;
}
#tlogo img{
	vertical-align:bottom;
}
#tlogo h1,#tlogo p{
	float:left;
}
#tlogo p.tlogo2{
	float:right;
}
#util{
	padding-top: 10px;
	width:calc(100% - 280px);
	float:right;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	line-height:1;
}
#util img{
	vertical-align:middle;
}
#util li{
	list-style: none;
}
/*------------------------------------------------------------------------------
	util1
------------------------------------------------------------------------------*/
#util1{
	margin:0px 0px 14px 20px;
	display: flex;
	flex-wrap: nowrap;
}
#util1 ul{
	display:flex;
}
#util1 dl{
	display: flex;
	align-items: center;
}
#util1 dl dt{
	color: #1c4f34;
}
/* 文字サイズ変更
------------------------------------------------------------------------------*/
#util1 dl.fontsize ul li{
	margin-left: 5px;
}
#util1 dl.fontsize ul li a{
	padding:8px 10px 8px 10px;
	display:block;
	color:#1c4f34;
	background:#ebeee8;
	text-decoration:none;
	border-radius:4px;
}
/* 色変更
------------------------------------------------------------------------------*/
#util1 dl.color{
	margin-left: 10px;
}
#util1 dl.color ul li{
	margin-left: 5px;
}
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2 ul{
	margin-left:-10px;
	margin-bottom:14px;
	display: flex;
}
#util2 ul li{
	margin-left:10px;
}
#util2 ul li a{
	padding:8px 10px 8px 10px;
	padding-left:23px;
	display:block;
	color:#1c4f34;
	background:url("images/header/mark_li.png") no-repeat left 9px center;
	border-radius:4px;
	border:1px solid #388e4f;
	text-decoration:none;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#sitesearch{
	width:100%;	
}
#sitesearch form{
	width:100%;
	display:flex;
	flex-wrap:wrap;
	justify-content:flex-end;
	align-items:center;
}
#sitesearch label[for="key"]{
	margin:10px;
	color:#1C4F34;
}
#sitesearch input[type="text"]{
	padding:5px 10px 5px 10px!important;
	width:364px!important;
	align-self:stretch;
	box-sizing:border-box;
	border-radius:10px 0px 0px 10px!important;
	border:1px solid #1c4f34!important;
	border-right:none!important;
}
#sitesearch input[type="image"]{
	padding:5px 32px 5px 32px!important;
	background-color:#1c4f34;
	border-radius:0px 10px 10px 0px;
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavi,#topgnavi{
	margin-bottom: 20px;
}
#gnavi ul li a,#topgnavi ul li a{
	display:block;
	font-weight:bold;
	text-decoration:none;
}
#gnavi ul li.top a,#topgnavi ul li.top a{
	border-left:none;
}
/*--スマホワンソースの場合のメニュー非表示--*/
#gnavibg p.hnplus, #gnavibg p.hnminus{
	display:none;
}
#gnavi,#topgnavi{
	width: 100%;
	max-width: 1400px;
	min-width: 950px;
}
#gnavi ul,#topgnavi ul{
	margin-left: -16px;
	display: flex;
}
#gnavi ul li,#topgnavi ul li{
	margin-left: 16px;
	width: calc(100% / 6 - 16px);
}
#gnavi ul li a,#topgnavi ul li a{
	padding: 20px;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #1c4f34;
	color: #fff;
	box-sizing: border-box;
	border-radius: 10px;
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	width: 180px;
	background: #1C4F34;
	padding:10px;
	border-radius: 10px;
}
#menu h2 + ul,#menu h2 + h3,#opendata #lnavi p + ul{
	border-top-right-radius:10px;
	border-top-left-radius:10px;
	overflow:hidden;
}

#menu > ul:last-child{
	border-bottom-right-radius:10px;
	border-bottom-left-radius:10px;
	overflow: hidden;
}
#opendata #menu {
	border: none;
}
#opendata #menu ul li a{
	border:none;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2 a,#menu h2 span{
	padding: 20px 10px 20px 10px;
	width: calc(100% - 20px);
	display: block;
	color: #FFFFFF;
}

#menu h2.choice{
	color: #FFFFFF;
	border-radius: 10px 10px 0 0;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding: 15px 8px 15px 13px;
	width: 159px;
	background: #EBEEE8;
	border-top: 2px solid #388E4F;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	padding: 15px 8px 15px 13px;
	width: 159px;
	background: #EBEEE8;
	border-top: 2px solid #388E4F;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px;
	background:#FFF;
	border-bottom:none;
}
#menu h4{
	margin:0px;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h5{
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h3 a{
	padding:20px 15px 17px 23px;
	width:142px;
	position: relative;
	border-bottom: #D5D5D5 solid 1px;
}
#menu h3 a::before{
	position:absolute;
	top: 22px;
	left: 10px;
	content:"";
	width:4px;
	height: 1.4em;
	background: #1c4f34;
}
#menu h3 a:hover{
	background:#F0F3F7;
}
#menu h4 a{
	padding:8px 5px 8px 28px;
	width: 147px;
	position:relative;
}
#menu h4 a::before{
	position:absolute;
	top:
	calc(8px + 0.7em);
	left: 10px;
	content:"";
	width:0px;
	height:0px;
	border-top: #41914C solid 8px;
	border-right: transparent solid 6px;
	border-bottom: transparent solid 3px;
	border-left: transparent solid 6px;
}
#menu h4 a:hover{
	background:#F0F3F7;
}
#menu h5 a{
	margin-left:10px;
	padding:8px 5px 8px 23px;
	width: 142px;
	position:relative;
}
#menu h5 a::before{
	content: "";
	width: 6px;
	height: 6px;
	border-top: solid 2px #41914C;
	border-right: solid 2px #41914C;
	position: absolute;
	left: 8px;
	top: 15px;
	transform: rotate(135deg);
}
#menu h5 a:hover{
	background:#F0F3F7;
}
#menu ul{
	background:#FFF;
}
#menu ul li a{
	padding:8px 5px 8px 23px;
	width: 152px;
	position:relative;
}
#menu ul li a::before{
	content: "";
	width: 6px;
	height: 6px;
	border-top: solid 2px #41914C;
	border-right: solid 2px #41914C;
	position: absolute;
	left: 8px;
	top: 17px;
	transform: rotate(45deg);
}
#menu ul li a:hover{
	background:#F0F3F7;
}
#menu ul li.choice{
	position: relative;
	padding:8px 5px 8px 23px;
	width: 152px;
	display:block;
	background:#F0F3F7;
}

#menu ul li.choice::before{
	content: "";
	width: 6px;
	height: 6px;
	border-top: solid 2px #41914C;
	border-right: solid 2px #41914C;
	position: absolute;
	left: 8px;
	top: 15px;
	transform: rotate(45deg);
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	width: 142px;
	background:url(images/lnavi/mark_slnavi_o.png) no-repeat 9px 17px;
}
#menu ul.lmenu li a::before{
	content:none;
}
#menu ul.lmenu li a:hover{	
	background: #F0F3F7 url(images/lnavi/mark_slnavi_o.png) no-repeat 9px 17px;	
}	
#menu ul.lmenu li.choice{	
	position: relative;	
	width: 142px;	
	display:block;	
	background:#F0F3F7 url(images/lnavi/mark_slnavi_o.png) no-repeat 9px 17px;	
}	
#menu ul.lmenu li.choice::before{	
	content: none;	
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide{
	width: 100%;
	max-width: 1200px;
	min-width: 950px;
}
#guide ul,#guide ul li{
	display:inline;
}
/*------------------------------------------------------------------------------
	このページのトップへ
------------------------------------------------------------------------------*/
#guide p.pagetop{
	display:block;
	clear:both;
	text-align:right;
	position:fixed;
	right:30px;
	bottom:25px;
	z-index:10000;
}
#guide p.pagetop a{
	padding-left:18px;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#guide ul li a.pageback{
	margin-right:15px;
	padding-left:20px;
	background:url(images/page/mark_pageback.png) no-repeat left center;
}
#guide ul li a.pagehome{
	padding-left:20px;
	background:url(images/page/mark_pagehome.png) no-repeat left center;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#guide .viewmode{
	margin-left:20px;
	margin-bottom:10px;
	display:inline-block;
	font-size:95%;
	color:#FFFFFF;
	background:#333300;
	vertical-align: middle;
	border-radius:8px;
}
#guide .viewmode ul,#guide .viewmode li{
	display:inline-block;
}
#guide .viewmode ul:after{
	content:"";
	display:block;
	clear:both;
}
#guide .viewmode ul{
	padding: 2px;
	background:#FFFFFF;
	border:1px solid #2e5d85;
	border-radius:8px;
	overflow:hidden;
	vertical-align:middle;
}
#guide .viewmode ul{
	display:table;
	vertical-align:middle;
	list-style-type:none;
}
#guide .viewmode ul li{
	display:table-cell;
	text-align:center;
	white-space:nowrap;
}
#guide .viewmode ul li a{
	padding:10px 10px 8px 10px;
	display:block;
	color:#222222;
	text-decoration:none;
}
#guide .viewmode #viewmode_pc{
	padding-right: 55px;
	background: url("images/page/mark_pc.png") no-repeat right 11px center,#b2c4d4;
	border-radius:8px 0px 0px 8px;
	border-right: 2px solid #2e5d85;
}
#guide .viewmode #viewmode_smp{
	padding-right: 30px;
	background: url("images/page/mark_smp.png") no-repeat right 5px center;
	border:none;
	border-radius: 0px 8px 8px 0px;
}
/*==============================================================================
	フッタ
==============================================================================*/
footer{
	padding-top: 110px;
	background: url("images/footer/footer_bg_top.png") repeat-x top center;
}
#footernavi .ulwrap,#topfooternavi .ulwrap{
	margin: auto;
	max-width:1200px;
	min-width:950px;
}
#footernavi ul,#topfooternavi ul{
	margin-bottom:-10px;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
#footernavi ul li,#topfooternavi ul li{
	margin:0px 5px 10px 5px;
	padding-left:11px;
	background:url("images/footer/footer_li.png") no-repeat left center;
	list-style:none;
}
#footernavi ul li a,#topfooternavi ul li a{
	display:inline-block;
	color: #1c4f34;
}
#topfooterbg,#footerbg{
	margin-top: 50px;
	padding-bottom:85px;
	background: url("images/footer/footer_bg_bottom.png") repeat-x bottom center,url("images/footer/bg_bird.png") no-repeat calc(50% + 200px) 14px;
}
#footer{
	width: 100%;
	max-width:1200px;
	min-width:950px;
}
#footer .left{
	float: left;
}
#footer h2{
	font-size:110%;
}
#footer h2 a{
	color: #222;
}
#add{
	margin:10px 0px 20px 0px;
	font-size:95%;
}
#footer .left .leftlink a{
	padding:5px 10px 5px 16px;
	display: inline-block;
	box-sizing: border-box;
	color: #1c4f34;
	font-size:95%;
	border: 1px solid #388e4f;
	border-radius: 5px;
	background: url("images/footer/footer_li.png") no-repeat left 7px center;
	text-decoration: none;
}
#addlink{
	float: right;
}
#addlink ul{
	margin-left: -20px;
	display: flex;
	list-style: none;
}
#addlink ul li{
	margin-left:20px;
	width:140px;
}
#addlink ul li a{
	padding:53px 4px 10px 4px;
	display:block;
	box-sizing:border-box;
	color:#1c4f34;
	font-size:85%;
	text-decoration:none;
	border:1px solid #388e4f;
	border-radius:10px;
	text-align:center;
}
#addlink ul li.map a{
	background: url("images/footer/footer_map.png") no-repeat center top 10px;
}
#addlink ul li.sns a{
	background: url("images/footer/footer_sns.png") no-repeat center top 10px;
}
#copy{
	margin:0px auto 0px auto;
	padding:8px 0px 8px 0px;
	clear:both;
	font-size:70%;
	color:#fff;
	text-align:center;
	background:#1c4f34;
}
