@charset "utf-8";
/*------------------------------------------------------------------------------
[1] レイアウト[ 配置 + 書式設定その他 ]
[2] 詳細デザイン
------------------------------------------------------------------------------*/
/*******************************************************************************
[1] レイアウト[ 配置 + 書式設定その他 ]
*******************************************************************************/
/*==============================================================================
	配置
==============================================================================*/
#pagebody,#content3,#petit,#ptopnavi,#petitcontent{
	min-width:auto;
}
/*==============================================================================
	書式設定その他
==============================================================================*/
body,input,select,textarea,button{
	font-family:"BIZ UDPGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;
}
a{
	color: #232B39;
}
/*******************************************************************************
[2] 詳細デザイン
*******************************************************************************/
/*==============================================================================
	ヘッダ
==============================================================================*/
#header{
    padding: 30px;
    width:100%;
    max-width: 1400px;
    min-width: auto;
    display:flex;
    flex-wrap:wrap;
    justify-content: space-between;
    align-items:center;
}
/*------------------------------------------------------------------------------
	tlogo
------------------------------------------------------------------------------*/
#tlogo{
    margin:0px;
}
#tlogo a{
    text-decoration: none;
    display: flex;
    justify-content: center;
    align-content: center;
}
#tlogo span{
    padding-left: 20px;
    display: flex;
    letter-spacing: normal;
    justify-content: center;
    align-items: center;
    padding-top: 10px;
}
#tlogo h1 span{
    font-size:40%;	
}
#tlogo p span{
    font-size:75%;	
}
/*------------------------------------------------------------------------------
	util
------------------------------------------------------------------------------*/
#util{
    display: flex;
    align-items: center;
    justify-content: space-between;
}
/*	検索
------------------------------------------------------------------------------*/
#sitesearch{
	padding:15px;
	display: flex;
	align-items: center;
	box-sizing: border-box;
	background:#E5EAF0;
	border-radius: 5px;
}
#sitesearch .formwrap form{
    display: flex;
    align-items: center;
    border: 2px solid #CCC;
    border-radius: 100vh;
}
#sitesearch .formwrap input{
	display:block;
	vertical-align:middle;
}
#sitesearch .formwrap input[type="text"]{
	padding: 8px 10px 8px 10px !important;
	width: 200px;
	height:auto!important;
	box-sizing:border-box;
	background-position:left 10px center!important;
	border: none;
	border-radius: 100vh 0px 0px 100vh!important;
	font-size: 115%;
}
#sitesearch .formwrap input[type="submit"]{
	border:none!important;
	border-left:2px solid #CCC!important;
	display: block;
	height:100%;
	padding: 8px 50px 8px 10px !important;
	border-radius: 0 100vh 100vh 0!important;
	background:#FFF url(images/top/icon.png) no-repeat right 15px center;
	font-size: 115%;
	font-weight: bold;
	-webkit-appearance:none;
	cursor:pointer;
}
#sitesearch .formwrap input[type="submit"]:hover{
	background-color:#EFEFEF;
}
#sitesearch p.use{
	margin-left:15px;
}
#sitesearch p.use a{
	text-decoration: none;
}
/*	防災・緊急
------------------------------------------------------------------------------*/
#util .emergency{
    margin-right: 20px;
    margin-left: 20px;
}
#util .emergency a{
    padding: 25px 25px 20px 70px;
    display: block;
    background: #f5d8da url("images/header/mark_kinkyu.png") no-repeat left 25px center;
    color: #b22b2f;
    text-decoration: none;
    font-weight: bold;
    border-radius: 3px;
}
#util .emergency a:hover{
	background-color:#f7c9cd;
}
/*	リンク
------------------------------------------------------------------------------*/
#util ul{
	list-style-type:none;
	font-size:90%;
}
#util ul li:last-child{
	margin-top:10px;
}
#util ul li a{
    padding:2px 20px 2px 20px;
    display: block;
    position: relative;
    border-radius: 5px;
    color: #222;
    text-align: center;
    text-decoration: none;
    background: #FFF;
    border-radius: 50vh;
    border:1px solid #CCC;
}
#util ul li a:hover{
	background: #F3F8FE;
}
/*==============================================================================
	グローバルナビ
==============================================================================*/
#topgnavibg,#gnavibg{
	background:#161c25;
}
#gnavi{
    max-width: 1400px;
	position:relative;
	min-width: auto;
}
#gnavi ul#topscate{
	display:flex;
	box-sizing:border-box;
	font-weight:bold;
}
#gnavi ul#topscate > li{
	box-sizing:border-box;
	width:calc(100% / 5);
	float:none;
	line-height:1.4;
	border-right:1px solid #ADC7DD;
}
#gnavi ul#topscate li.scate:last-child{
	border-right: none;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate li.home a,
#gnavi ul#topscate li.scate > a,
#gnavi ul#topscate li.scate > button{
    margin:0px;
    padding:20px 20px 18px;
    width:100%;
    height: 100%;
    box-sizing:border-box;
    color:#FFFFFF;
    border:none;
    background:#232B39;
    cursor:pointer;
    font-weight: normal;
    transition:all .6s;
    font-size: 120%;
}
#gnavi ul#topscate li.home > a:hover,
#gnavi ul#topscate li.scate > button:hover,
#gnavi ul#topscate li.scate > button.choice,
#gnavi ul li.home a:hover,
#gnavi ul#topscate li.scate > a:hover,
#gnavi ul li.scate > a.choice{
	box-sizing:border-box;
	color:#232B39;
	background:#f3f8fe;
}
/*------------------------------------------------------------------------------
	開閉メニュー
------------------------------------------------------------------------------*/
#gnavi .navi{
    padding: 50px 0px;
	width:100%;
	display:none;
	position:absolute;
	top:100%;
	left:0;
	z-index:9999;
	font-size:90%;
	background:#f2f8fe;
}
#gnavi .navi a{
	text-decoration:underline;
}
#gnavi .navi .gnavilower{
    margin-right: auto;
    margin-left: auto;
	padding:60px 60px 40px;
    max-width: 1200px;
    background: #fff;
    border: 2px solid #e1e1e1;
    border-bottom: none;
    border-radius: 5px 5px 0px 0px;
	position:relative;
    box-sizing: border-box;
}
#gnavi .navi .gnavidetail{
	float:left;
	font-size:150%;
	font-weight:bold;
	padding: 0px 0px 0px 22px;
	display:block;
	position:relative;
	color:#033570;
    border-left: solid 6px #033570;
	font-weight:bold;
    text-decoration: none;
}
#gnavi .navi .gnavidetail a::after,
#gnavi .navi ul li a::after{
	content:none;
}
/*	閉じるボタン
------------------------------------------------------------------------------*/
#gnavi ul#topscate .navi button.gnaviclose{
	padding:10px 10px 8px 40px;
	display:block;
	position:absolute;
	right:10px;
	left:auto;
	top:10px;
	font-size:90%;
	color:#fff;
    border: none;
	background:#232B39;
	text-decoration:none;
	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:10px;
	right:auto;
	left:20px;
	width:2px;
	height:15px;
	border:0;
	margin:0;
	padding:0;
	background-color:#fff;
}
#gnavi ul#topscate .navi button.gnaviclose::before{
	transform:rotate(45deg);
}
#gnavi ul#topscate .navi button.gnaviclose::after{
	transform:rotate(-45deg);
}
#gnavi .navi ul{
    margin-right: auto;
    margin-left: auto;
    max-width: 1200px;
    width: 100%;
    border: 2px solid #e1e1e1;
    border-top: none;
    border-radius: 0px 0px 5px 5px ;
	padding:0px 60px 40px 70px;
	clear:both;
	background:#fff;
    box-sizing: border-box;
}
#gnavi .navi ul li{
	margin-right:30px;
	margin-bottom:20px;
	padding:0px 0px 0px 25px;
	width:calc(100% / 3 - 30px);
	position:relative;
	display:flex;
	justify-content:flex-start;
	font-size:110%;
	font-weight:normal;
	text-align:left;
	box-sizing:border-box;
	background:none;
    line-height: 1.6;
}
#gnavi .navi ul li:nth-child(3n+1){
	clear:left;
}
#gnavi .navi ul li a{
	font-weight:normal;
}
#gnavi .navi ul li::before{
    width:15px;
    height: 15px;
    position: absolute;
    top: calc(0.5em - 5px);
    left: 0px;
    content: "";
    border-radius: 50%;
    background: #033570;
    border: none;
}
#gnavi .navi ul li::after{
    width: 3px;
    height: 3px;
    display: block;
    position: absolute;
    top: 0.5em;
    left: 4px;
    content: "";
    border-left: 1px solid #fff;
    border-top: 1px solid #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}
/*==============================================================================
	パンくず
==============================================================================*/
#tpath{
	background:#E5EAF0;
	min-width: auto;
	max-width:none;
	margin:0 auto 40px auto;
}
#tpath p{
	max-width:1200px;
	margin:20px auto;
}
/*==============================================================================
	左メニュー
==============================================================================*/
#menu{
	padding:10px;
	background:#E5EAF0;
	border-radius:5px;
}
#menu a{
	transition:all .5s;
}
#menu .menuwrap{
	background:#FFFFFF;
	border-radius:5px;
	box-shadow:0 0 3px #AAA;
}
#menu .menuwrap a{
	color:#033570;
	text-decoration:none;
}
#menu ul:first-child li:not([class]):first-child a,
#menu ul:first-child li.choice:first-child{
	border-radius: 5px 5px 0 0;
}
#menu ul:not([class]):last-child li:not([class]):last-child a,
#menu ul:not([class]):last-child li.choice:last-child{
	border-radius: 0 0 5px 5px;
}
#menu ul.lmenu:last-child li:not([class]):last-child a,
#menu ul.lmenu:last-child li.choice:last-child{
	border-radius: 0 0 5px 0px;
}
/*------------------------------------------------------------------------------
	見出しh2
------------------------------------------------------------------------------*/
#menu h2{
	padding:12px 8px 15px 8px;
	display:block;
	color:#13225B;
	background:none;
}
#menu h2 a{
	color:#033570;
}
/* lang属性用 */
#menu h2 span.h2span span{
	padding:0px;
}
/*------------------------------------------------------------------------------
	リンクなし　セパレータ
------------------------------------------------------------------------------*/
#menu h3.separator{
	margin:0px;
	padding:15px 5px 15px 15px;
	background:#EEEEEE;
}
#menu h4.separator,#menu h5.separator,#menu h6.separator{
	margin:0px 0px 0px 10px;
	padding:15px 5px 15px 10px;
	background:#EEEEEE;
}
/*------------------------------------------------------------------------------
	詳細メニュー　h3 h4 ul 同じリスト風デザイン
------------------------------------------------------------------------------*/
#menu h3{
	margin:0px;
	background:#FFF;
	border-bottom:none;
	border-radius: 5px 5px 0 0;
}
#menu h4{
	margin:0px;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h5{
	margin-left:10px;
	font-weight:normal;
	background:#FFF;
	border-bottom:none;
}
#menu h3 a{
	padding:15px 5px 15px 23px;
	position:relative;
	border-radius: 5px 5px 0 0;
}
#menu h3 a::before{
	width:5px;
	height:calc(100% - 20px);
	content:"";
	position:absolute;
	top:10px;
	left:10px;
	background:#033570;
	border-radius:2px;
	transition:all .2s;
}
#menu h3 a:hover{
	background:#E6F0F9;
}
#menu h4 a{
	padding:15px 5px 15px 30px;
	border-top:1px solid #ECECEC;
	position:relative;
}
#menu h5 a{
	padding:15px 5px 15px 25px;
	border-top:1px solid #ECECEC;
	position:relative;
}
#menu h4 a::before,
#menu h5 a::before{
	width:7px;
	height:7px;
	content:'';
	position:absolute;
	top:calc(.75em - 6px + 15px);
	left:12px;
	border-top:solid 2px #033570;
	border-right:solid 2px #033570;
	transition:all .2s;
	transform:rotate(135deg);
}
#menu h5 a::before{
	left:7px;
}
#menu h4 a:hover,
#menu h5 a:hover{
	background:#E6F0F9;
}
#menu ul li:not([class]) a{
	padding:15px 5px 15px 38px;
	border-top:1px solid #ECECEC;
	position:relative;
}
#menu ul:first-child li:not([class]):first-child a,
#menu ul:first-child li.choice:first-child{
	border-top:none;
}
#menu ul li:not([class]) a::before{
	width:6px;
	height:6px;
	content:'';
	position:absolute;
	top:calc(.75em - 4px + 15px);
	left:15px;
	border-top:solid 2px #799ABB;
	border-right:solid 2px #799ABB;
	transition:all .2s;
	transform:rotate(45deg);
}
#menu ul li:not([class]) a:hover{
	background:#E6F0F9;
}
#menu ul li.choice{
	padding:15px 5px 15px 38px;
	display:block;
	position:relative;
	color:#FFFFFF;
	background:#033570;
	border-top:1px solid #ECECEC;
}
#menu ul li.choice::before{
	width:6px;
	height:6px;
	content:'';
	position:absolute;
	top:calc(.75em - 4px + 15px);
	left:15px;
	border-top:solid 2px #FFFFFF;
	border-right:solid 2px #FFFFFF;
	transition:all .2s;
	transform:rotate(45deg);
}
/*------------------------------------------------------------------------------
	入れ子リスト
------------------------------------------------------------------------------*/
#menu ul.lmenu li{
	margin-left:10px;
}
#menu ul.lmenu li a{
	padding-left:25px;
	border-top:1px solid #ECECEC;
	border-bottom:none;
	position:relative;
}
#menu ul.lmenu li a::before{
	width:6px;
	height:6px;
	content:'';
	position:absolute;
	top:calc(.75em - 4px + 15px);
	left:7px;
	border-top:solid 2px #799ABB;
	border-right:solid 2px #799ABB;
	transition:all .2s;
	transform:rotate(45deg);
}
#menu ul.lmenu li a:hover{
	background:#E6F0F9;
}
#menu ul.lmenu li.choice{
	padding-left:25px;
	display:block;
	color:#FFFFFF;
	background:#033570;
	border-top:1px solid #ECECEC;
	border-bottom:none;
}
#menu ul.lmenu li.choice::before{
	width:6px;
	height:6px;
	content:'';
	position:absolute;
	top:calc(.75em - 4px + 15px);
	left:5px;
	border-top:solid 2px #FFFFFF;
	border-right:solid 2px #FFFFFF;
	transition:all .2s;
	transform:rotate(45deg);
}
/*  フォーカス　*/
#menu h2 a:focus{
	z-index: 1;
	position: relative;
	outline: 2px solid #000;
}
#menu h3 a:focus,
#menu h4 a:focus,
#menu h5 a:focus{
	z-index: 1;
}
#menu ul li a:focus{
	z-index: 1;
}
/*------------------------------------------------------------------------------
	色変更
------------------------------------------------------------------------------*/
/*	人権・教育
------------------------------------------------------------------------------*/
#wrap.jinken #menu{
	background:#d2f2d8;
}
#wrap.jinken #menu .menuwrap a,
#wrap.jinken #menu h2,
#wrap.jinken #menu h2 a,
#wrap.edu #menu .menuwrap a,
#wrap.edu #menu h2,
#wrap.edu #menu h2 a{
	color:#222;
}
#wrap.jinken #menu h3 a::before{
	background:#29813c;
}
#wrap.jinken #menu h3 a:hover{
	background:#d2efec;
}
#wrap.jinken #menu h4 a::before,#wrap.jinken #menu h5 a::before{
	border-top-color:#29813c;
	border-right-color:#29813c;
}
#wrap.jinken #menu h4 a:hover,
#wrap.jinken #menu h5 a:hover{
	background:#d2efec;
}
#wrap.jinken #menu ul li:not([class]) a::before{
	border-top-color:#29813c;
	border-right-color:#29813c;
}
#wrap.jinken #menu ul li:not([class]) a:hover{
	background:#d2efec;
}

#wrap.jinken #menu ul li.choice{
	background:#29813c;
}
/*	職員採用
------------------------------------------------------------------------------*/
#wrap.recruit #menu{
	background:#d2f1ff;
	border-radius: 10px;
}
#wrap.recruit #menu h2,
#wrap.recruit #menu a{
	color:#222;
}
#wrap.recruit #menu ul li:not([class]) a::before,
#wrap.recruit #menu h4 a::before,
#wrap.recruit #menu h5 a::before{
  border-color:#1C9AEF;
}
#wrap.recruit #menu ul li.choice{
	color:#222;
	background:#FFFAB1;
}
#wrap.recruit #menu ul li.choice::before{
  border-color:#1C9AEF;
}
#wrap.recruit #menu h3 a::before{
	background:#1C9AEF;
}
#wrap.recruit #menu ul li:not([class]) a:hover,
#wrap.recruit #menu h3 a:hover,
#wrap.recruit #menu h4 a:hover,
#wrap.recruit #menu h5 a:hover{
	background:#FFFAB1;
}
/*==============================================================================
	ページ遷移
==============================================================================*/
#guide{
	min-width: auto;
}
#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;
	line-height:0;
	display:none;
}
#guide p.pagetop img{
	display: block;
}
#guide p.pagetopnoscript{
    display:block;
    clear:both;
    text-align:right;
    position:fixed;
    right:30px;
    bottom:25px;
    z-index:10000;
    line-height:0;
}
/*------------------------------------------------------------------------------
	ページ戻り
------------------------------------------------------------------------------*/
#guide ul li a.pageback{
	padding:8px 0 8px 25px;
	background:url(images/page/mark_pageback.png) no-repeat left center;
}
#guide ul li a.pagehome{
	margin-left:20px;
	padding:8px 0 8px 25px;
	background:url(images/page/mark_pagehome.png) no-repeat left center;
}
/*==============================================================================
	フッタ
==============================================================================*/
#topfooterbg,#footerbg{
    background: #232b39;
}
#footerimage::after, #guidebg::after{
	content:"";
	display:block;
	height:47px;
	background-image: linear-gradient(90deg, rgba(3, 63, 133, 1) 0%, rgba(42, 179, 252, 1) 30%, rgba(37, 52, 135, 1) 80%);
}
#footerimage img{
    width: 100%;
    height: auto;
}
/*------------------------------------------------------------------------------
	所在地、リンクなど
------------------------------------------------------------------------------*/
#footer{
	padding:65px 0px 55px;
	min-width: auto;
}
#footer h2{
    margin-bottom: 40px;
    vertical-align: middle;
    color: #fff;
    font-size: 90%;
    font-weight: normal;
}
#footer h2 img{
    margin-right: 17px;
    padding-bottom: 13px;
    vertical-align: middle;
}
#add{
    margin-bottom: 50px;
}
#add address{
    float: left;
    color: #fff;
}
#addlink{
    float: right;
}
#addlink ul{
	margin-left: -12px;
	list-style-type:none;
    letter-spacing: -.4em;
}
#addlink ul li{
	margin-left:12px;
    display: inline-block;
    letter-spacing: normal;
}
#addlink ul li a{
    padding: 10px 32px 8px 15px;
	width:100%;
	height:100%;
	display:flex;
    position: relative;
	color:#fff;
	line-height:1.2;
	flex-wrap:wrap;
	text-decoration:none;
	text-align:center;
	align-items:center;
	justify-content:center;
	box-sizing:border-box;
    background: #2F353C;
    border-radius: 5px;
	transition:all .6s;
}
#addlink ul li a{
	background-color: #464b51;
}
#addlink ul li a:hover{
	background:#505357;
}
#addlink ul li a::before {
    margin-top: -3px;
    width:6px;
    height:6px;
    display:block;
    position:absolute;
    right: 10px;
    top: 50%;
    content:"";
    border-left:1px solid #fff;
    border-top:1px solid #fff;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
/*------------------------------------------------------------------------------
	フッタメニュー
------------------------------------------------------------------------------*/
#footernavi,#topfooternavi{
    padding-top: 35px;
    border-top: 1px solid #5b6066;
}
#footernavi ul,#topfooternavi ul{
	list-style-type:none;
}
#footernavi ul li,#topfooternavi ul li{
	margin-right: 50px;
	padding-left:17px;
	display:inline-block;
	position:relative;
}
#footernavi ul li::before,#topfooternavi ul li::before {
    width:6px;
    height:6px;
    display:block;
    position:absolute;
    left: 0px;
    top:.4em;
    content:"";
    border-left:2px solid #fff;
    border-top:2px solid #fff;
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
}
#footernavi ul li a,#topfooternavi ul li a{
    color: #fff;
    text-decoration: none;
}
#footernavi ul li a:hover,#topfooternavi ul li a:hover{
    text-decoration: underline;	
}
#copy{
	padding:45px 0px;
	background:#fff;
}
#copy p{
	margin:0px auto 0px auto;
   width:100%;
	max-width: 1200px;
    box-sizing: border-box;
	clear:both;
	font-size:85%;
	text-align: left;
}
/*==============================================================================
	ふりがな
==============================================================================*/
.f_on{ 
	display: inline; 
}
.f_off{ 
	display: none; 
}
.furigana .f_on{ 
	display: none; 
}
.furigana .f_off{ 
	display: inline; 
}
/*==============================================================================
	画面幅調整
==============================================================================*/
/*------------------------------------------------------------------------------
	1200px以下
------------------------------------------------------------------------------*/
@media screen and (max-width:1200px){
	#lnavi{
		width:20%;
	}
	#lnavi .sidebannertxt ul li a{
		width:100%;
	}
	#content{
		width:calc(80% - 40px);
	}
	#pagebody, #guide, #footer, #footernavi, #header{
		width:98%;
	}
}
