@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置　独自の設定
==============================================================================*/
#wrap{
	margin:0px auto 0px auto;
	background:#FFF;
}
#header{
	padding:0px 0px 20px 0px;
}
#toppagebody{
    text-align: left;
    background:url(images/content/shadow.png) repeat-x left top;
}
#pagebody{
	width:970px;
    text-align: left;
}
#lnavi{
	width:215px;
}
#content2,#content3{
	width:970px;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
body{
	color:#222;
	font-family: a-otf-ud-shin-go-pr6n,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-style: normal;
	font-weight: 500;	
}
input,select,textarea, button{
	font-family: a-otf-ud-shin-go-pr6n,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
	font-style: normal;
	font-size:100%;
	font-weight:500;
}
#wrap{
	font-size:95%;
}
#content,#content2,#content3{
	line-height:1.8;
	background:#FFFFFF;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#header{
	margin: 0 auto;
	padding:0px;
	padding-bottom: 15px; 
	width: 100%;
	max-width:1200px;
	min-width: 1000px;
	display:flex;
	flex-wrap:wrap;
}
#tlogo{
	margin:15px 0px 0px 0px;
	width: 186px;
}
#util{
  margin:0px;
	width: calc((100% - 186px) * .4);
  width: calc(100% - 496px);
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#util2{
	margin-bottom:10px;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
  justify-content:flex-end;
}
#dropdownmenu{
	display:flex;
	justify-content: flex-end;
	width: calc((100% - 186px) * .6);
	width: 310px;
}
/*------------------------------------------------------------------------------
	util
------------------------------------------------------------------------------*/
#util ul{
	display:inline-block;
	list-style-type:none;
}
#util li{
	display:inline-block;
}
/*------------------------------------------------------------------------------
	util1
------------------------------------------------------------------------------*/
/* 文字サイズ変更・背景色変更をヘッダで有効にする、不要な場合は削除
------------------------------------------------------------------------------*/
/*
#util1 dl,
#util1 dt,
#util1 dd{
	display:inline-block;
}
#util1 dl{
	margin-bottom:10px;
}
#util1 dl::after{
	content:"";
	display:block;
	clear:both;
}
#util1 ul li a.fontsize,
#util1 ul li a.fontsizes,
#util1 ul li a.fontsizel{
	margin-right:5px;
	padding:2px 3px 2px 3px;
	display:inline-block;
	color:#222;
	font-size:110%;
	background-color:#EFEFEF;
	border:1px solid #999;
	text-decoration:none;
}
#util1 ul li a.fontsizel{
	padding-left:20px;
	background:#EFEFEF url(images/header/large.gif) no-repeat 4px center;
}
#util1 ul li a.fontsizes{
	padding-left:20px;
	background:#EFEFEF url(images/header/small.gif) no-repeat 4px center;
}
*/
/*------------------------------------------------------------------------------
	util2
------------------------------------------------------------------------------*/
#util2 ul li{
	margin-left:15px;
	margin-bottom:0px;
	padding-left:13px;
	font-size: 105%;
	background: url(images/top/search_mark.png) no-repeat left center;
}
#util2 ul li a{
	color: #222;
}
/*------------------------------------------------------------------------------
	select language
------------------------------------------------------------------------------*/
#header #util2 .selectlang{
	margin:0px 5px 0px 20px;
	position:relative;
	box-sizing:border-box;
}
#header #util2 .selectlang select{
	padding:3px 24px 4px 10px!important;
	height:auto!important;
	-webkit-appearance:none;/* デフォルトのappearance削除 */
	-moz-appearance:none;/* デフォルトのappearance削除 */
	appearance:none;/* デフォルトのappearance削除 */
	display:block;
	box-sizing:border-box;
	color:#222222;
	background:#FFFFFF;
	border-width:1px;
	border-style:solid;
	border-radius:5px!important;
	border-color:#CCC;
	pointer-events:auto;
	cursor:pointer;
}
#header #util2 .selectlang::after{
	width:5px;
	height:5px;
	content:"";
	position: absolute;
	top:calc(50% - 4px);
	right:10px;
	border-top:2px solid #0878C4;
	border-right:2px solid #0878C4;
	-webkit-transform:rotate(135deg); 
	transform:rotate(135deg);
	pointer-events:none;
}
/*------------------------------------------------------------------------------
	検索
------------------------------------------------------------------------------*/
#topsitesearch form,
#sitesearch form,
#idsearch form{
	margin: 0;
	width: 100%;
}
#topsitesearch input,
#sitesearch input,
#idsearch input{
	display:inline-block;
	vertical-align:middle;
}
#topsitesearch input[type="text"],
#sitesearch input[type="text"],
#idsearch input[type="text"]{
	margin-right: 10px;
	padding: 25px 20px !important;
	width: calc(100% - 110px) !important;
	height:auto!important;
	box-sizing:border-box;
	background-position:left 10px center!important;
	border: 1px solid #CCC !important;
	border-radius:10px !important;
}
#topsitesearch input[type="submit"],
#sitesearch input[type="submit"],
#idsearch input[type="submit"]{
	padding: 21px 0.5em!important;
  width: 100px;
	box-sizing:border-box;
	color:#FFF;
	font-size:132% !important;
	font-weight: bold;
	background-color:#0878C4;
	border-radius:10px!important;
	border:1px solid #0878C4 !important;
	-webkit-appearance:none;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#topheaderbg #header #viewmode{
	margin-top: 7px;
}
#viewmode{
	margin-top: -6px;
	margin-bottom:3px;
	float:right;
}
#viewmode a{
	text-decoration:none;
	color:#333;
}
#viewmode dd{
	padding:4px 10px 4px 3px;
	background:#e0e0e0;
	display:inline-block;
	border-radius: 20px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    vertical-align: middle;
}
#viewmode dl{
	display:inline-block;
	*display: inline;  
    *zoom: 1;  
}
#viewmode dl:after{
	content:"";
	display:block;
	clear:both;
}
#viewmode dt,#guide .viewmode dd{
	display:inline-block;
	*display: inline;  
    *zoom: 1;  
}
#viewmode #viewmode_pc{
	padding:3px 10px 3px 25px;
	background:#FFFFFF url(images/header/pc.png) no-repeat left 7px center;
	border-radius:13px;
	-moz-border-radius:13px;
	-webkit-border-radius:13px;
	-o-border-radius:13px;
	-ms-border-radius:13px;
}
#viewmode dt{
	margin-left:0px;
	padding:2px 5px 2px 8px;
	display:inline;
	background:#e0e0e0;
	border-radius:3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
}
#viewmode dt{
	background:#FFFFFF;
	vertical-align:middle;
}
#viewmode ul li{
	margin: 0px 0px 0px 0px;
}
#viewmode ul li:first-child{
	padding-right:1px;
}
/*------------------------------------------------------------------------------
	表示切替（議会）
------------------------------------------------------------------------------*/
#viewmode2{
	margin:0px auto 0px auto;
	width:970px;
	font-size:95%;
	text-align:right;
}
#viewmode2 dl,#viewmode2 dt,#viewmode2 dd{
	display:inline-block;
	*display:inline;
    *zoom:1;
}
#viewmode2 dl:after{
	content:"";
	display:block;
	clear:both;
}
#viewmode2 dl{
	margin-left:12px;
	background:#FFFFFF;
    border: 1px solid #CCCCCC;
    border-radius: 3px;
	-moz-border-radius:3px;
	-webkit-border-radius:3px;
	-o-border-radius:3px;
	-ms-border-radius:3px;
	overflow:hidden;
	vertical-align:middle;
}
#viewmode2 dt{
	padding:5px 10px 5px 10px;
	display:inline-block;
	*display:inline;
    *zoom:1;
	background:#CCCCCC;
	border-right:1px solid #CCCCCC;
	vertical-align:middle;
}
#viewmode2 dd{
	vertical-align:middle;
}
#viewmode2 ul{
    display:table;
	list-style-type:none;
}
#viewmode2 ul li{
	margin-left:0px;
	padding-left:0px;
	background:none;
    display: table-cell;
	text-align:center;
	white-space: nowrap;
}
#viewmode2 dd a{
	padding:5px 15px 5px 15px;
	display:block;
    color: #333333;
    text-decoration: none;
}
#viewmode2 #viewmode_pc{
	border-right:1px solid #CCC;
    background: -moz-linear-gradient(top,#EEEEEE,#FFFFFF);
    background: -webkit-gradient(linear,left top,left bottom,from(#EEEEEE),to(#FFFFFF));
    background: linear-gradient(to bottom, #EEEEEE,#FFFFFF);
}
#viewmode2 #viewmode_smp{
    border: none;
    background: -moz-linear-gradient(top,#FFFFFF,#EEEEEE);
    background: -webkit-gradient(linear,left top,left bottom,from(#FFFFFF),to(#EEEEEE));
    background: linear-gradient(to bottom, #FFFFFF,#EEEEEE);
}
/*==============================================================================
	ドロップダウン
==============================================================================*/
#dropdownmenu .bmenu{
	position:relative;
}
/*------------------------------------------------------------------------------
	smpmenup1,smpmenup2 共通
------------------------------------------------------------------------------*/
#smpmenup1bg #smpmenup1menu,
#smpmenup2bg #smpmenup2menu{
	margin-top: 16px;
	padding:65px 30px 30px 30px;
	width:1200px;
	height:auto;
	display:none;
	position:absolute;
	top:100%;
	right:-120px;
	box-sizing:border-box;
	background: #FEF8F8;
	border-radius: 12px;
	z-index:19991;
}
#smpmenup1bg #smpmenup1menu::before,
#smpmenup2bg #smpmenup2menu::before{
	content: "";
	position: absolute;
	right: 0;
	top: -16px;
	right: 180px;
	width: 0px;
	height: 0px;
	margin: auto;
	border-style: solid;
	border-color: #C84C3E transparent transparent transparent;
	border-width: 16px 10px 0 10px;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#smpmenup1menu button.hnclose,
#smpmenup2menu button.hnclose{
	margin:0px;
	padding:10px 10px 8px 25px;
	position:absolute;
	border:none;
	right:30px;
	top:10px;
	color:#222;
	font-size: 100%;
	font-weight: bold;
	background: url(images/top/kinkyu_mark.png) no-repeat left 10px center;
	background-color:transparent;
	text-decoration: underline;
	cursor:pointer;
}
#smpmenup1bg .bmenu > button,
#smpmenup2bg .bmenu > button{
	margin: 0px;
	padding: 55px 7px 5px 7px;
	min-width: 143px;
	box-sizing: border-box;
	font-size: 115%;
	font-weight: 700;
	color: #ffffff;
	background: url(images/header/header_emergency.png) top 13px center no-repeat;
	background-color: #C84C3E;
	border: none;
	border-radius: 0px 0px 10px 10px;
	text-align: center;
	word-break:break-all;
}
/*------------------------------------------------------------------------------
	smpmenup1
------------------------------------------------------------------------------*/
#smpmenup1bg{
	 margin-right: 10px;
}
#smpmenup1menu ul.flexstyle2{
	margin: 0 0 5px 0;
}
#smpmenup1menu ul.flexstyle2 li{
	margin: 0px 20px 20px 0px;
	width: calc((100% - 80px) / 5);
	background:#FFF;
	border: 1px solid #C64F48;
	border-radius: 10px;
}
#smpmenup1menu ul.flexstyle2:not(.emergencysns) li:nth-child(5n){
	margin-right: 0px;
}
#smpmenup1menu ul.flexstyle2 li a{
	padding: 7px 0px;
	width: 100%;
	font-weight: 500;
	background:#FFF;
	border-radius: 10px;
	text-align: left;
}
#smpmenup1menu ul.flexstyle2 li a span{
	padding-left: 0px;
}
#smpmenup1menu ul.emergencysns li{
	padding: 0px 5px;
	margin: 0px 20px 20px 0px;
	width: calc((100% - 40px) / 3);
	border: 1px solid #E1E1E1;
}
#smpmenup1menu ul.emergencysns li:nth-child(3n){
	margin-right: 0px;
}
#smpmenup1menu ul.emergencysns li a span{
	padding-left: 10px;
}
#smpmenup1menu ul.emergencylink{
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
}
#smpmenup1menu ul.emergencylink li{
	margin: 0px 30px 10px 0px;
}
#smpmenup1menu ul.emergencylink a{
	 color: #222;
	padding: 7px 60px 7px 20px;
	display: inline-block;
	color: #222;
	text-decoration: none;
	background: #FFF url(images/top/kinkyu_mark.png) no-repeat left 10px center;
	border-radius: 10px;
	border: 1px solid #E1E1E1;
}
/*------------------------------------------------------------------------------
	smpmenup2
------------------------------------------------------------------------------*/
#smpmenup2bg .bmenu > button{
	padding:55px 10px 5px 10px;
	min-width: 119px;
	background:url(images/header/header_search.png) top 11px center no-repeat;
	background-color:#0878C4;
}
#smpmenup2bg #smpmenup2menu{
	right:0;
	background: #FFFEE9;
}
#smpmenup2bg #smpmenup2menu::before{
	right: 50px;
	border-color: #0878C4 transparent transparent transparent;
}
#smpmenup2bg #searchwrap{
	background: #FFFEE9;
	box-sizing: border-box;
	border-radius: 10px;
	border: none;
}
#smpmenup2bg #searchmenu{
	padding: 8px 0px 20px 0px;
	width: 100%;
	box-sizing:border-box;
	text-align: left;
}
/*------------------------------------------------------------------------------
	サイト内検索
------------------------------------------------------------------------------*/
#searchtab{
	list-style-type:none;
	display:flex;
	box-sizing:border-box;
	background: transparent;
	border: none;
}
#searchtab li{
	margin-right: 20px;
	width: auto;
	background: transparent;
	border: none;
}
#searchtab li a{
	padding: 5px 35px 7px 35px;
	display: inline-block;
	color: #222;
	font-size:110%;
	font-weight: bold;
	background-color: #FFF;
	text-decoration:none;
	text-align:center;
	border: 1px solid #9DD1F9;
	border-radius: 10px;
	transition:all .5s;
	letter-spacing: .1em;
}
#searchtab li a:hover,
#searchtab li.ui-tabs-active a{
	color:#FFF;
	background: #0878C4;
	border-color: #0878C4;
	position:relative;
}
#searchtab li.ui-tabs-active a:after{
	content: "";
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #0878C4 transparent transparent transparent;
    border-width: 10px 5px 0 5px;
}
#sitesearch{
	padding: 0px 0px 20px 0px;
	border: none!important;
	background: transparent;
}
#search1.ui-widget-content,
#search2.ui-widget-content{
	border: none;
	background: transparent;
}
/*------------------------------------------------------------------------------
	ページ番号検索
------------------------------------------------------------------------------*/
#searchmenu .navidetail p{
	margin: 5px 0px 10px 5px;
}
#searchmenu .navidetail form{
	width:100%;	
}
#searchmenu #idresult p{
	margin:5px 0px 0px 5px;
	color:#c50000;
	font-weight:bold;
}
.keywordwrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
}
.keyword{
	margin-right: 60px;
	width: calc(100% - 290px);
}
.keyword ul{
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
}
.keyword ul li{
	margin: 0px 30px 10px 0px;
	padding-left: 15px;
	background: url(images/top/search_mark.png) no-repeat left center;
}
.keyword ul li a{
	color: #222;
}
.keywordwrap p a{
	padding: 15px 50px 15px 75px;
	display: inline-block;
	color: #222;
	text-decoration: none;
	font-weight: bold;
	background: #FFF url(images/top/search_mark.png) no-repeat left 55px center;
	border-radius: 10px;
	border: 1px solid #9DD1F9;
	width: 8em;
}
.keywordwrap p a:hover{
	color: #FFF;
	background: #0878C4 url(images/top/search_mark.png) no-repeat left 55px center;
	transition: all .5s;
}
/*トップページ*/
#toppurposesearch{
	text-align: left;
}
#toppurposesearch h2{
  margin-bottom: 8px;
	padding: 5px 35px 7px 35px;
	display: inline-block;
	position: relative;
	color: #FFF;
	font-weight: bold;
	font-size: 116%;
	border: 1px solid #0878C4;
	border-radius: 10px;
	background-color: #0878C4;
	letter-spacing: .1em;
}
#toppurposesearch h2:after{
	content: "";
    position: absolute;
    right: 0;
    bottom: -10px;
    left: 0;
    width: 0px;
    height: 0px;
    margin: auto;
    border-style: solid;
    border-color: #0878C4 transparent transparent transparent;
    border-width: 10px 5px 0 5px;
}
/*目的から探す*/
#smpmenup2menu .purpose{
	margin: 30px 0px 10px 0px;
	padding: 50px 0px;
	position: relative;
}
#smpmenup2menu .purpose::before{
  content: "";
	position: absolute;
	top:0;
	left: 0;
	width: 300px;
	height: 10px;
	background: #9DD1F9;
}
#smpmenup2menu .purpose h2{
	padding: 0px 0px 30px 0px;
	font-weight: bold;
	font-size: 200%;
	text-align: left;
	letter-spacing: .1em;
}
#smpmenup2menu .purpose ul.flexstyle1 {
  margin: 0px;
	width: 100%;
}
#smpmenup2menu .purpose ul.flexstyle1 li{
  margin: 0px 20px 20px 0px;
  width: calc((100% - 80px) / 5);
  background: #FFF;
	border-radius: 10px;
}
#smpmenup2menu .purpose ul.flexstyle1 li:nth-child(5n){
  margin-right: 0px;
}
#smpmenup2menu .purpose ul.flexstyle1 li a{
	color:#222;
	background: #FFF;
	box-shadow: 0px 5px 10px -6px rgba(0,0,0,0.6);
	border-radius: 10px;
	border:4px solid #FFF;
	letter-spacing: .1em;
}
#smpmenup2menu .purpose ul.flexstyle1 li  a:hover{
  border: 4px solid #0878C4;
	box-sizing: border-box;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#smpmenup2menu button.hnclose{
	background: url(images/top/search_mark.png) no-repeat left 10px center;
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#gnavibg,#topgnavibg{
	margin: 0 auto;
	background:#FFF;
	border-bottom: 1px solid #CCC;
}
#gnavi{
	position:relative;
	width: 100%;
	max-width: 1200px;
	min-width: 1000px;
}
#gnavi ul#topscate{
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
}
#gnavi ul li.scate{
	box-sizing:border-box;
	width:100%;
	font-size:120%;
	line-height:1.4;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate li button{
	margin:0px;
	padding:15px 0px 25px 0px;
	width:100%;
	box-sizing:border-box;
	color:#222;
	font-size: 103%;
	font-weight: bold;
	background:#FFF;
	border:none;
	cursor:pointer;
	position:relative;
	transition:all .6s;
	letter-spacing:.1em;
}
#gnavi ul#topscate li button:not(.gnaviclose){
	background:#FFF url(images/gnavi/gnavi_allow.png) no-repeat bottom 10px center;
}
#gnavi ul#topscate li button:hover,
#gnavi ul#topscate li button.choice,
#gnavi ul li a:hover,
#gnavi ul li a.choice{
	box-sizing:border-box;
}
#gnavi ul#topscate li button:not(.gnaviclose):hover{
	background:#FFF url(images/gnavi/gnavi_hover.png) no-repeat bottom 10px center;
}
#gnavi ul#topscate li button:not(.gnaviclose).choice{
	background:#FFF url(images/gnavi/gnavi_choice.png) no-repeat bottom 10px center;
}
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	font-size:90%;
	border-top: 1px solid #CCC;
	box-shadow: 0px 1px 5px 0px rgba(102,102,102,.5);
  box-shadow: 0px 12px 15px 0px rgba(102,102,102,.16);
	border-radius: 0px 0px 10px 10px;
}
#gnavi .navi a{
	color:#222;
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
	padding:10px 30px 10px 30px;
	background:#FFF;
	position:relative;
}
#gnavi .navi .gnavidetail{
	padding: 10px 0px;
	float:left;
	font-size:130%;
	font-weight:bold;
}
#gnavi .navi .gnavidetail a{
	padding:0px 20px 0px 10px;
	display:block;
	position:relative;
	color:#222;
	font-size:94%;
	font-weight:bold;
	border-left: 4px solid #0878C4;
	line-height: 1.2;
}
#gnavi .navi .gnavidetail a:hover{
	background:transparent;
}
#gnavi .navi .gnavidetail a::after,
#gnavi .navi ul li a::after{
	content:none;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate .navi button.gnaviclose{
	padding:10px 10px 8px 35px;
	display:block;
	position:absolute;
	right:25px;
	left:auto;
	top:10px;
	font-size:90%;
	color:#222;
	text-decoration: underline;
	line-height:1.2;
	cursor:pointer;
	width:auto;
}
#gnavi ul#topscate .navi button.gnaviclose::before,
#gnavi ul#topscate .navi button.gnaviclose::after{
	content:"";
	position:absolute;
	display:inline-block;
	top:12px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:#0878C4;
}
#gnavi ul#topscate .navi button.gnaviclose::before{
	-moz-transform:rotate(45deg);
	-webkit-transform:rotate(45deg);
	transform:rotate(45deg);
}
#gnavi ul#topscate .navi button.gnaviclose::after{
	-moz-transform:rotate(-45deg);
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
}
#gnavi .navi ul{
	margin:0px;
	padding:0px 40px 15px 40px;
	clear:both;
	background:#FFF;
	border-radius: 0px 0px 10px 10px;
}
#gnavi .navi ul li{
	margin-right:15px;
	margin-bottom:15px;
	width:calc(100% / 4 - 15px);
	text-align:left;
	box-sizing:border-box;
	font-size:95%;
	background:none;
	padding:0;
}
#gnavi .navi ul li:nth-child(4n){
	margin-right:0px;
}
#gnavi .navi ul li:nth-child(4n+1){
	clear:left;
}
#gnavi .navi ul li{
	padding:0px 12px 0px 15px;
	display:flex;
	justify-content:flex-start;
	font-size:90%;
	font-weight:normal;
  background: url(images/top/search_mark.png) no-repeat left 7px;
}
#gnavi .navi ul li a{
	font-weight:normal;
}
/*==============================================================================
	左メニュー
==============================================================================*/
#lnavi{
	width:215px;
}
#menu{
	padding-bottom:6px;
	background:#FFFFFF;
	border:2px solid #0878C4;
	border-radius: 10px;
	box-sizing:border-box;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	font-weight:500;
}
#menu h2 a,#menu h2 span{
	padding:20px 5px 20px 5px;
	display:block;
	color:#FFFFFF;
	background:#0878C4;
	border-radius: 6px 6px 0px 0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#lnavi #menu h3,#lnavi #menu h4,#lnavi #menu h5,#lnavi #menu h6{
	font-weight:500;
}
#menu h3.separator{
	margin:0px;
	padding:10px 5px 8px 8px;
	background:#EEE;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 0px 0px 10px;
	padding:10px 5px 8px 6px;
	background:#EEE;
	border-top:1px solid #C8E7FC;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px;
	background:#FFF;
	border-bottom:none;
}
#menu h4{
	margin:0px;
	background:#FFF;
	border-bottom:none;
}
#menu h5{
	margin-left:10px;
	background:#FFF;
	border-bottom:none;
}
#menu h3 a{
	padding:8px 5px 8px 23px;
	color:#222;
	background:url(images/lnavi/mark_h3_lnavi.png) no-repeat 7px calc(.9em - 4px + 8px);
}
#menu h3 a:hover{
	background:#FCDDC8 url(images/lnavi/mark_h3_lnavi_o.png) no-repeat 7px calc(.9em - 4px + 8px);
}
#menu h4 a{
	padding:8px 5px 8px 23px;
	color:#222;
	background:url(images/lnavi/mark_h3_lnavi.png) no-repeat 7px calc(.9em - 4px + 8px);
	border-top:1px solid #C8E7FC;
}
#menu h4 a:hover{
	background:#FCDDC8 url(images/lnavi/mark_h3_lnavi_o.png) no-repeat 7px calc(.9em - 4px + 8px);
}
#menu h5 a{
	padding:8px 5px 8px 23px;
	color:#222;
	background:url(images/lnavi/mark_lnavi.png) no-repeat 10px 15px;
	border-top:1px solid #C8E7FC;
}
#menu h5 a:hover{
	background:#FCDDC8 url(images/lnavi/mark_lnavi_o.png) no-repeat 10px calc(.9em - 5px + 8px);
}
#menu ul{
	background:#FFF;
}
#menu>ul li:first-child a{
	border-top:none;
}
#menu ul li a{
	padding:8px 5px 8px 23px;
	color:#222;
	background:url(images/lnavi/mark_lnavi.png) no-repeat 10px calc(.9em - 5px + 8px);
	border-top:1px solid #C8E7FC;
}
#menu ul li a:hover{
	background:#FCDDC8 url(images/lnavi/mark_lnavi_o.png) no-repeat 10px calc(.9em - 5px + 8px);
}
#menu ul li.choice{
	padding:8px 5px 8px 23px;
	display:block;
	font-weight: bold;
	background:#FCDDC8 url(images/lnavi/mark_lnavi_o.png) no-repeat 10px calc(.9em - 5px + 8px);
	border-top:1px solid #C8E7FC;
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	background:url(images/lnavi/mark_slnavi.png) no-repeat 11px calc(.9em - 4px + 8px);
	border-top:1px solid #C8E7FC;
	border-bottom:none;
}
#menu ul.lmenu li a:hover{
	background:#FCDDC8 url(images/lnavi/mark_slnavi_o.png) no-repeat  11px calc(.9em - 4px + 8px);
}
#menu ul.lmenu li.choice{
	display:block;
	font-weight: bold;
	background:#FCDDC8 url(images/lnavi/mark_slnavi_o.png) no-repeat  11px calc(.9em - 4px + 8px);
	border-top:1px solid #C8E7FC;
	border-bottom:none;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide{
	margin: 20px auto;
	padding: 0px 0px 0px 0px;
	width: 100%;
  max-width: 1200px;
}
#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{
	padding-left:25px;
	color: #222;
	background:url(images/page/mark_pageback.png) no-repeat left center;
}
#guide ul li a.pagehome{
	margin-left:15px;
	padding-left:21px;
	color: #222;
	background:url(images/page/mark_pagehome.png) no-repeat left center;
}
/*------------------------------------------------------------------------------
	表示切替
------------------------------------------------------------------------------*/
#footer .viewmode{
	width: calc(100% - 200px);
	display: flex;
	justify-content: flex-end;
	align-items: center;
}
#footer .viewmode dl,#footer .viewmode dt,#footer .viewmode dd{
	display:inline-block;
}
#footer .viewmode dl:after{
	content:"";
	display:block;
	clear:both;
}
#footer .viewmode dl{
	vertical-align:middle;
}
#footer .viewmode dt{
	padding:5px 15px 5px 15px;
	display:inline-block;
	vertical-align:middle;
}
#footer .viewmode dd{
	vertical-align:middle;
	overflow:hidden;
	border-radius:10px;
}
#footer .viewmode ul{
	margin:0px;
	display:table;
	list-style-type:none;
}
#footer .viewmode ul li{
	display:table-cell;
	text-align:center;
	white-space:nowrap;
}
#footer .viewmode dd a{
	padding:0.25em 1em;
	display:block;
	color:#222;
	text-decoration:none;
}
#footer .viewmode a#viewmode_pc{
	padding-right:2em;
	border-right:1px solid #e5e4d2;
	background:#FFF url(images/page/pc_on.png) right 0.75em center no-repeat;
	text-decoration:none;
	border-radius: 10px 0 0 10px;
}
#footer .viewmode a#viewmode_pc:hover,
#footer .viewmode a#viewmode_smp:hover{
	text-decoration:underline;
}
#footer .viewmode a#viewmode_smp{
	border:none;
	background:#C8E7FC;
	border-radius: 0 10px 10px 0;
}
/*==============================================================================
	フッタ
==============================================================================*/
#topfooterbg, #footerbg{
	width: 100%;
	min-width: 1000px;
	background:#0568AB;
	color: #FFF;
}
#footer{
	padding: 0px 0px 20px 0px;
	display: flex;
	box-sizing: border-box;
	width:100%;
	max-width:1400px;
	min-width:1000px;
	min-height: 603px;
	margin-bottom: 50px;
	align-items: flex-start;
}
.footercontent{
	margin-right: 100px;
	padding-top: 80px;
	width: calc(100% - 650px);
	display: flex;
	flex-wrap: wrap;
}
#footer .footercontent > h2{
	padding: 2px 0px 2px 42px;
	width: 100%;
	font-size:130%;
	font-weight: 500;
	text-align:left;
	background:url(images/footer/footer_logo.png) no-repeat left top;
}
#add{
	padding: 20px 0px 0px 0px;
	font-size:95%;
}
#addlink{
	 width: 100%;
}
#addlink ul{
	margin: 15px 0px;
	display: flex;
	flex-wrap: wrap;
	list-style-type: none;
}
#addlink ul li{
	margin: 0px 25px 10px 0px;
}
#addlink ul li a{
	padding: 0px 0px 10px 15px;
	box-sizing: border-box;
	color: #FFF;
	background: url(images/footer/footer_l_mark.png) no-repeat left top 6px;
}
#footersnslink{
	 width: 200px;
	 display: flex;
	 align-items: center;
}
#footersnslink ul{
	margin: 10px 0px;
	display: flex;
	list-style-type: none;
}
#footersnslink ul li{
	margin-right: 20px;
}
#footer .amacall{
	margin-top: 20px;
	padding: 20px;
	width: 100%;
	color: #222;
	background: #ECF0F6 url(images/footer/callcenter.png) no-repeat right 25px bottom -20px;
	border-radius: 10px;
	height: 57px;
}
#footer .amacall h2{
	margin-bottom: 10px;
	padding-left: 10px;
	display: inline-block;
	font-size:130%;
	font-weight: 500;
	border-left: 4px solid #0878C4;
	line-height: 1.2;
}
#footer .amacall h2 a{
	color: #222;
}
#footer .amacall p{
	font-size: 120%;
	font-weight: 500;
}
#footer > p{
	width: 650px;
}
#footer address a{
	color: #FFF;
}
#copy{
	margin:0px auto 0px auto;
	padding:20px 10px 20px 10px;
	clear:both;
	font-size:85%;
	text-align:center;
}
/*==============================================================================
	flexstyle1　アイコン（上）+テキスト
==============================================================================*/
/*------------------------------------------------------------------------------
	アイコン（上）+テキスト（ul.flexstyle1）
------------------------------------------------------------------------------*/
ul.flexstyle1{
	margin:0 15px 30px 0px;
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
ul.flexstyle1 li{
	margin:0 0px 15px 15px;
	width:calc(100% / 3 - 15px);
	box-sizing:border-box;
	background:#0062B8;
}
ul.flexstyle1 li a{
	padding:20px 5px 20px 5px;
	display:block;
	width:100%;
	height:100%;
	box-sizing:border-box;
	position:relative;
	color:#FFF;
	font-weight:bold;
	font-size:105%;
	text-decoration:none;
	text-align:center;
	box-shadow:0px 3px 0px 0px #004786;
	line-height:1.2;
	transition:all .5s;
}
ul.flexstyle1 li a:hover{
	background:#004786;
	box-shadow:0px 3px 0px 0px #0062B8;
}
ul.flexstyle1 li a img{
	margin:0px auto 15px auto;
	display:block;
}
/*------------------------------------------------------------------------------
	アイコン（上・画像full）+テキスト（ul.flexstyle1 imgfull）
------------------------------------------------------------------------------*/
ul.flexstyle1.imgfull li a img{
	width:100%;
	height:auto;
}
ul.flexstyle1.imgfull li{
	padding:0;
	width:calc(100% / 2 - 15px);
}
ul.flexstyle1.imgfull li span{
	padding:5px 5px 15px 5px;
	display:inline-block;
	box-sizing:border-box;
}
ul.flexstyle1.imgfull li a{
	padding:0;
}
/*------------------------------------------------------------------------------
	アイコン（上）+テキスト（画像上）（ul.flexstyle1 imgup）
------------------------------------------------------------------------------*/
ul.flexstyle1.imgup li img{
	margin-bottom:0px;
	width:100%;
	height:auto;
}
ul.flexstyle1.imgup li{
	width:calc(100% / 2 - 15px);
	background:#0062B8;
}
ul.flexstyle1.imgup li a{
	margin:0px;
	padding:0px;
	display:inline-flex;
	position:relative;
	color:#222222;
	font-size:100%;
	font-weight:bold;
	text-decoration:none;
	box-shadow:none;
}
ul.flexstyle1.imgup a span{
	margin:0px;
	padding:10px 6px 8px 6px;
	width:100%;
	display:block;
	box-sizing:border-box;
	position:absolute;
	left:0;
	bottom:0;
	background-color:rgba(255,255,255, .8);
	text-align:center;
	vertical-align:middle;
}
ul.flexstyle1.imgup a:hover span{
	background-color:rgba(255,255,255, .9);
}
/*　外部リンク
------------------------------------------------------------------------------*/
ul.flexstyle1 li a img.external{
	margin:0;
	width:auto;
	display:inline-block;
	vertical-align:middle;
}
/*==============================================================================
	flexstyle2　アイコン（左）+テキスト
==============================================================================*/
/*------------------------------------------------------------------------------
	アイコン（左）+テキスト（ul.flexstyle2）
------------------------------------------------------------------------------*/
ul.flexstyle2{
	margin:0 15px 30px 0px;
	display:flex;
	flex-wrap:wrap;
	list-style:none;
}
ul.flexstyle2 li{
	margin:0 0px 15px 15px;
	width:100%;
	display:flex;
	box-sizing:border-box;
	border:2px solid #0062B8;
}
ul.flexstyle2 li a{
	width:100%;
	display:flex;
	align-items:center;
	box-sizing:border-box;
	position:relative;
	z-index:2;
	color:#222222;
	font-size:110%;	
	font-weight:bold;
	text-decoration:none;
	line-height:1.4;
	background:#D0E7FF;
	transition:all .5s;
}
ul.flexstyle2 li a img{
	margin:10px;
}
ul.flexstyle2 li a:hover{
	background:#FFF;
}
ul.flexstyle2 li a span{
	width:calc(100% - 52px);
	padding:5px 5px 5px 15px;
	flex-basis:calc(100% - 52px);
	box-sizing:border-box;
}
/*------------------------------------------------------------------------------
	アイコン（左・画像full）+テキスト（ul.flexstyle2 imgfull）
------------------------------------------------------------------------------*/
ul.flexstyle2.imgfull li a img{
	margin:0px;
}
/*　外部リンク
------------------------------------------------------------------------------*/
ul.flexstyle2 li a .external{
	vertical-align:middle;
}
/*==============================================================================
	flexstyle3　テキストバナー
==============================================================================*/
/*------------------------------------------------------------------------------
	テキスト中央揃え（ul.flexstyle3）
------------------------------------------------------------------------------*/
ul.flexstyle3{
	margin:0 15px 30px 0px;
	display:flex;
	flex-wrap:wrap;
	list-style-type:none;
}
ul.flexstyle3 li{
	margin:0 0px 10px 15px;
	width:calc(100% / 2 - 15px);
	min-height:65px;
	display:flex;
	align-items:center;
	box-sizing:border-box;
	border:1px solid #CCC;
	box-shadow:0px 0px 3px #CCC;
}
ul.flexstyle3 li a{
	padding:10px;
	width:100%;
	height:100%;
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
	color:#222;
	text-align:center;
	line-height:1.3;
	transition:all .5s;
}
ul.flexstyle3 li a:hover{
	background:#EFEFEF;
}
/*------------------------------------------------------------------------------
	テキスト左揃マークあり（ul.flexstyle3 listmark）
------------------------------------------------------------------------------*/
ul.flexstyle3.listmark li a{
	padding-left:32px;
	justify-content:left;
	position:relative;
	text-align:left;
}
ul.flexstyle3.listmark li a::before{
	height:0;
	width:0;
	content:'';
	position:absolute;
	top:calc(50% - 5px);
	left:15px;
	border-style:solid;
	border-width:5px 0 5px 8px;
	border-color:transparent transparent transparent #0062B8;
}
/*------------------------------------------------------------------------------
	880px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1400px) and (min-width: 1000px){
	#footer{
		width:95%;
		align-items:center;
	}
}
@media screen and (max-width:1300px){
	.footercontent{
		width :calc(100% - 500px);
	}
	#footer > p{
		width: 500px;
	}
	#footer >p >img{
		width: 500px;
		height: auto;
	}
}
@media screen and (max-width:1160px){
	.footercontent{
		margin-right: 50px;
	}
	#footer .viewmode{
		font-size: 90%;
	}
}
@media screen and (max-width: 1200px){
	#smpmenup1bg #smpmenup1menu,
	#smpmenup2bg #smpmenup2menu{
		width:1000px;
	}
	#smpmenup1bg #smpmenup1menu{
		right: -129px;
	}
	#smpmenup1bg #smpmenup1menu::before{
		right: 190px;
	}
}