@charset "UTF-8";



/* font size change
-------------------------------------------------------------------*/
/* サイズを変更したくない部分に相対値をセット */
/* ヘッダーの検索ボタン */
.fontL #header .search {font-size: calc(140% / 2.8);}
.fontS #header .search {font-size: calc(140% / 1.2);}

.fontS {
	font-size: 120%;
}

.fontM {
	font-size: 140%;
}

.fontL {
	font-size: 280%;
}


/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
#spMenu .spMenu_function #sp_fontsize_box {
	display: grid;
	padding:12px 45px 12px 15px;
	grid-template-columns: calc(24px + 6em) 1fr;
	margin: 0;
	padding: 12px 15px;
}
#sp_fontChange button {
	padding: 5px 4px 3px;
	color: #000000;
	background-color: #EEEEEE;
	border:1px #cccccc solid;
	line-height: 1em;
	cursor: pointer;
	font-size: 1em;
}
/*  CMS005 END  */

.en #sp_fontChange button {
	text-indent: -9999px;
	padding:0;
	background-color:transparent;
	border:none;
	text-align:left;
	overflow: hidden;
	width: 24px;
	height: 24px;
	/* 英語版文字サイズ変更ボタンのボタンサイズをfontSizeに次第で変更させる場合は、こちらのコードを使用する */
	/* width: calc(24em / 14);
	height: calc(24em / 14);
	background-size: calc(24em / 14); */
}

#sp_fontChange button:hover {color:#ffffff; background-color:#373737;}
body.fontL #sp_fontChange button.large {color:#ffffff; background-color:#373737;}
body.fontM #sp_fontChange button.middle {color:#ffffff; background-color:#373737;}
body.fontS #sp_fontChange button.small {color:#ffffff; background-color:#373737;}

.en #sp_fontChange button a:hover {background-color:transparent;}
body.fontL.en #sp_fontChange button.large a {background-color:transparent;}
body.fontM.en #sp_fontChange button.middle a {background-color:transparent;}
body.fontS.en #sp_fontChange button.small a {background-color:transparent;}

.en #sp_fontChange button.small {
	background:url(../gif/fontsize_s_e_off.gif) no-repeat left top;
}

.en #sp_fontChange button.middle {
    background:url(../gif/fontsize_m_e_off.gif) no-repeat left top;
}

.en #sp_fontChange button.large {
	background:url(../gif/fontsize_l_e_off.gif) no-repeat left top;
}

.en.fontS #sp_fontChange button.small {
	background:url(../gif/fontsize_s_e_on.gif) no-repeat left top;
}

.en.fontM #sp_fontChange button.middle {
    background:url(../gif/fontsize_m_e_on.gif) no-repeat left top;
}

.en.fontL #sp_fontChange button.large {
	background:url(../gif/fontsize_l_e_on.gif) no-repeat left top;
}

/* spMenu
------------------------------------------------------------------------*/
#spMenu {
	display:none;
}


/* header
-------------------------------------------------------------------------*/
#header {
	position:relative;
	border-top:5px solid #094FA4;
	background:#fff;
}

#header .skiplinkbody a:not(:focus) {
	position:absolute;
	width:1px;
	height:1px;
	margin:-1px;
	padding:0;
	overflow:hidden;
}
#header .skiplinkbody a {
	display:block;
	text-decoration:none;
	color:#000000;
	font-weight:bold;
}
#header .skiplinkbody {
	position:relative;
	padding:0 2px;
	text-align:center;
	background-color:#ececec;
	z-index:9999;
	opacity:0.9;
}
@media print {
	#header .skiplinkbody a {display:none;}
}

#header #logo{
	position:absolute;
	width:50%;
	top:50%;
	-moz-transform:translateY(-50%);
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
	left:10px;
}
@media print {
	#header #logo{top:20%;}
}

#header #logo img{
	width:100%;
	max-width:140px;
	vertical-align: middle;
}



#header #header_menu .menu_box {display:none;}
#header #header_menu dl{display:none;}
#header #header_menu .search_sns_box {float:none;}

/* search_box */
#header #header_menu div#search_box {
	display:none;
	position:absolute;
	width:100%;
	margin-top:63px;
	border-right:none;
	padding-right:0;
	background:#eee;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding:15px 0 20px;
	z-index:10;
}

#header #header_menu div#search_box.at {
	display:block;	
}
#search_box p {
	margin-left:10px;
}


#search_box input[type="text"]{
	height:20px;
	width:75%;
	margin-left:10px;
}

#search_box input {
	float:left;
	display:block;
}


/* sp_menu */
#header #sp_menu {
	display:block;
	position:absolute;
	top:0;
	right:0;
	font-size:100%;
/* CMS005 */
/* スマホ版の文字サイズボタンを作成する */
	line-height:1;
/* CMS005 END */
}

#header #sp_menu ul{
	display:table-cell;
	padding:5px;
}

#header #sp_menu ul li{
	list-style-type:none;
	width:50px
}

#header #sp_menu #sp_menu_btn{
	position:relative;
	display:table-cell;
	border-left:1px solid #e8e8e8;
	height:58px;
	width:63px;
	padding-bottom:5px;
	vertical-align:bottom;
	text-align:center;
	font-size:50%;
	text-decoration:none;
}

#header #sp_menu #sp_menu_btn a{
	display:block;
	color:#094FA4;
	text-decoration:none;
}

#header #sp_menu #sp_menu_btn:before{
	content:" ";
	position:absolute;
	height:50px;
	width:60px;
	background:url(../png/menu_btn_bg01.png) no-repeat center center;
	background-size:30px;
	top:0;
	left:0;
	cursor:pointer;
	vertical-align:bottom;
	text-align:center;
}

#header #sp_menu #sp_menu_btn.on:before{
	content:" ";
	position:absolute;
	height:50px;
	width:60px;
	background:url(../png/menu_btn_bg02.png) no-repeat center center;
	background-size:30px;
	top:0;
	left:0;
	cursor:pointer;
	vertical-align:bottom;
	text-align:center;
}

#header #sp_menu ul li {display:table;}

#header #sp_menu ul .search a {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	height:50px;
	color:#ffffff;
	background-color:#007BB7;
	border-radius:5px;
	text-decoration:none;
	align-items:center;
}
#header #sp_menu ul .search a img {width:1em;}


#header #sp_sns_btn {vertical-align: top;}


#header #sp_sns_btn a {display:block; height:50px;}
#header #sp_sns_btn a span {display:block; text-indent:100%; white-space:nowrap; overflow:hidden; height:1px; width:1px;}

.gsc-search-botton {position:relative;}
#gsc_close_panel_btn {position:absolute; top:0; right:0; color:#000000; font-weight:bold; text-decoration:none;}

/* global_navi
-------------------------------------------------------------------------*/
#global_navi {
	display:none;
	background:#094FA4;
}

#global_navi ul{
	overflow:hidden;
}

#global_navi ul li{
	width:50%;
	float:left;
	text-align:center;
	vertical-align:middle;
	border-bottom:1px solid rgba(0,0,0,.3);
	list-style-type:none;
	font-size:80%;
}

#global_navi ul li:last-child{
	border-bottom:none;
}


#global_navi ul li:first-child{
	display:none;
}


#global_navi ul li a{
	font-weight:500;
	font-size:110%;
	padding:20px 5px;
	display:block;
	color:#fff;
	text-decoration:none;
	
}

#global_navi ul li a br{
	display:none;
	
}

#global_navi ul li a{
	border-bottom:1px solid rgba(0,0,0,.3);
}

#global_navi ul li a{
	border-right:1px solid rgba(0,0,0,.3);
}


ul.menu_second-level {
	display:none;
}

/* content 
--------------------------------------------------------------------------*/
#content {
	position:relative;
	margin:0 auto;
	overflow:hidden;
}


/* location 
--------------------------------------------------------------------------*/
#location {
	display:none;
}



/* main 
--------------------------------------------------------------------------*/
#main:focus {
	outline: none;
}

#main .inner{
	padding:0 10px;
}


/* side 
--------------------------------------------------------------------------*/
#side {
	padding:0 10px;
	margin-top:5%;
}

#side *:first-child{
	margin-top:0 !important;
}


/* sitemap 
--------------------------------------------------------------------------*/
#sitemap {
	clear:both;
}

#sitemap h2{
	margin-bottom: 0 !important;
}
#sitemap .inner div{
	border-bottom:1px solid #999;
}

#sitemap .inner dt{
	padding:12px 45px 12px 10px;
	position:relative;	
}

#sitemap .inner dt br{
	display:none;
}

#sitemap .inner dt.nounder{
	padding:12px 0 12px 10px;
}


#sitemap .inner dt a.more-links{
	position:absolute;
	display:block;
	content:" ";
	background:#B7E0F3 url(../png/icon_plus.png) no-repeat center center;
	background-size:20px;
	width:45px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
	padding-left:0;
	text-indent:-9999px;
}

#sitemap .inner dt.at a.more-links{
	position:absolute;
	display:block;
	content:" ";
	background:#B7E0F3 url(../png/icon_minus.png) no-repeat center center;
	background-size:20px;
	width:45px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
	padding-left:0;
	text-indent:-9999px;
}



#sitemap .inner dt.nounder:after{
	display:none;
}

#sitemap .inner dt a{
	display:block;
	position:relative;
	color:#333;
	font-weight:bold;
	text-decoration:none;
	padding-left:20px;
}

#sitemap .inner dt a:before{
	position:absolute;
	content:" ";
	display:inline-block;
	left:0;
	top:.4em;
	background:url(../png/icon_arrow05_right.png) no-repeat center center;
	background-size:15px;
	width:15px;
	height:15px;
}

#sitemap .inner dt a.more-links:before{
	display:none;
}


#sitemap .inner dd {
	border-top:1px dotted #999;
	padding-left:30px;
}



#sitemap .inner dd {
	display:none;
}

#sitemap .inner dd.at {
	display:block;
}

#sitemap .inner dd a{
	display:block;
	position:relative;
	text-decoration:none;
	padding:10px 30px 10px 0;
}

#sitemap .inner dd span{
	display:block;
	position:relative;
	text-decoration:none;
	padding:10px 30px 10px 0;
}

#sitemap .inner dd a:before{
	position:absolute;
	content:" ";
	display:inline-block;
	right:15px;
	top:0;
	bottom:0;
	margin:auto;
	background:url(../png/icon_arrow05_right.png) no-repeat center center;
	background-size:10px;
	width:10px;
	height:10px;
}

#sitemap .inner dl span {
	display:block;
	font-size:80%;
	white-space:nowrap;
	
}
#sitemap .inner dl span.sitemap_link_en {display:inline-block; margin:0; padding:0; font-size:100%;}


/* pagetop 
--------------------------------------------------------------------------*/
#pagetop {
	background:url(../png/pagetop_btn_j_sp_ja.png) no-repeat center center;
	background-size:142px;
	padding:10%;
	cursor:pointer;
}

.en #pagetop {
	background:url(../png/pagetop_btn_e_sp.png) no-repeat center center;
	background-size:87px;
	padding:10%;
	cursor:pointer;
}

#pagetop a {
	display:block;
	width:100%;
	height:100%;
}

#pagetop img {
	width:1px;
	height:1px;
	overflow: hidden;
}

#pagetop a:focus,
#pagetop a:hover {
	opacity:.8;
}

#pagetop a span {display:block; text-indent:100%; white-space:nowrap; overflow:hidden; height:1px; width:1px;}


/* footer 
--------------------------------------------------------------------------*/
#footer {
	border-top:5px solid #094FA4;
	border-bottom:20px solid #094FA4;
	padding-bottom:15px;
}

#footer #footer_menu{
}

#footer #footer_menu li {
	position:relative;
	list-style-type:none;
	font-size:95%;
	border-bottom:1px dotted #999;
}

#footer #footer_menu li a {
	position:relative;
	display:block;
	color:#333;
	text-decoration:none;
	padding:10px 40px 10px 10px;
}

#footer #footer_menu li a:after {
	content:" ";
	position:absolute;
	background:url(../png/icon_arrow05_right.png) no-repeat center center;
	background-size:10px;
	width:10px;
	height:10px;
	right:10px;
	margin:auto;
	top:0;
	bottom:0;
}


#footer #corporate {
	font-size:85%;
	margin-top:5%;
	text-align:center;
	padding:0 15%;
}

#footer #copyright {
	font-size:85%;
	margin-top:2%;
	text-align:center;
	padding:0 5%;
}


#footer address {
	font-size:85%;
	margin-top:2%;
	text-align:center;
	padding:0 15%;
}

/* spMenu *****************************************/

.spMenuOpen {
	background:#094FA4;
}


.spMenuOpen #conteinar {
	display:none;
}


#spMenu.on{
	display:block;
	width:100%;
}

#spMenu.on{
	display:block;
	width:100%;
	background:#094FA4;
}

#spMenu .menu_second-level.on{
	display:block;
	width:100%;
	background:rgba(255,255,255,.1);
	border-top:1px solid rgba(0,0,0,.3);
}

#spMenu .menu_second-level.on li:last-child{
	border-bottom:none;
}

#spMenu ul li{
	vertical-align:middle;
	border-bottom:1px solid rgba(0,0,0,.3);
	list-style-type:none;
	font-size:100%;
}

#spMenu .spMenu_function{
	background-color: #007BB7;
}

#spMenu .spMenu_function li .gmspmenu{
	background-color: #0B5C89;
}
/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* languageボタン限定だった機能を、spMenu_function全体で使用する。 */
#spMenu .spMenu_function li img{
	/* position: absolute; */
/*  CMS005 END  */
	top: 0;
	bottom: 0;
	margin: auto;
	height: 24px;
	vertical-align: middle;
}
/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* languageボタン限定だった機能を、spMenu_function全体で使用する。 */
#spMenu .spMenu_function li span{
	padding: 5px;
	/* margin-left: 24px; */
/*  CMS005 END  */
}

/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* languageボタン限定だった機能を、spMenu_function全体で使用する。 */
#spMenu .spMenu_function li .gmspmenu_language,
#spMenu .spMenu_function li dl:first-child {
/*  CMS005 END  */
	padding-left: 15px;
}

/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* SPmenu内のフォーカス表示を修正 */
#spMenu .spMenu_function .menu_second-level.on{
	background-color: #046EAA;
}
/*  CMS005 END  */

#spMenu .spMenu_function li > ul > li{
	border-bottom:  1px dotted rgba(0,0,0,.3);
}

#spMenu .spMenu_function li .menu_second-level > li > a:after{
	left: 15px;
	right: auto;
}

#spMenu .spMenu_function li .menu_second-level .last_li{
	border-bottom: none;
}
/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* languageボタン限定だった機能を、spMenu_function全体で使用する。 */
#spMenu .spMenu_function li ul li .sentence-space{
/*  CMS005 END  */
	display: inline-block;
	width: 20px;
}

/* CMS005 */
/* スマホ版の文字サイズボタンを作成する */
#spMenu ul li .title_of_menu_second-level{
	display: flex;
	align-items: stretch;
	gap: 3px;
}
/*  CMS005  */
/*  スマホ版の文字サイズボタンを作成する  */
/* 新規メニューにもCSSを反映させる */
#spMenu ul li a{
	display:block;
	padding:12px 45px 12px 10px;
	color:#fff;
	text-decoration:none;
	position:relative;
}

#spMenu ul li a:first-child{
	padding: 12px 45px;
/* CMS005 */
/* スマホ版の文字サイズボタンを作成する */
	flex: 1;
/* CMS005 END */
}

#spMenu ul li a:not(.gmspmenu,.gmspmenu_language):after{
	display:inline-block;
	position:absolute;
	content:" ";
	margin:auto;
/* CMS005 */
/* スマホ版の文字サイズボタンを作成する */
/* right:15px; */
	left: 15px;
/* CMS005 END */
	top:0;
	bottom:0;
	background:url(../png/icon_arrow07_right.png) no-repeat center center;
	background-size:15px;
	width:15px;
	height:15px;
}

#spMenu ul li a em{
	display:block;
	z-index:10;
	position:absolute;
	width:35px;
	height:35px;
	margin:auto;
	right:10px;
	top:0;
	bottom:0;
	background:rgba(255,255,255,.2);
	line-height:22px;
}

#spMenu ul li a em:before{
	position:absolute;
	display:block;
	content:" ";
	background:url(../png/icon_plus.png) no-repeat center center;
	background-size:10px;
	width:35px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
}

#spMenu ul li a.on em:before{
	position:absolute;
	display:block;
	content:" ";
	background:url(../png/icon_minus.png) no-repeat center center;
	background-size:10px;
	width:35px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
}

#spMenu .menu_second-level.on li a:after{
	display:inline-block;
	position:absolute;
	content:" ";
	margin:auto;
	right:20px;
	top:0;
	bottom:0;
	background:url(../png/icon_arrow07_right.png) no-repeat center center;
	background-size:10px;
	width:10px;
	height:10px;
}

#spMenu ul li a br{
	display:none;
}

/* spMenuのサブメニュー表示機能 */
#spMenu ul li {
	position: relative;
}
#spMenu ul li p {
	padding:0px;
	color:#ffffff;
}

#spMenu ul li > a:first-child:after {
	left:15px;
	right: auto;
}
#spMenu .menu_second-level.on li a:after  {
	left:auto;
}
#spMenu ul li .gmspmenu {
/* CMS005 */
/* スマホ版の文字サイズボタンを作成する */
	background:#0b4389;
/* CMS005 END */
/* 
CMS005
ページ一覧を開きますの処理を削除
 */
/* text-indent:-9999px;
height: 1.6em;
right:0;
top:0; */
/* CMS005 END */
}
#spMenu ul li .gmspmenu:before{
	position: absolute;
	display: block;
	content: " ";
	background: url(../png/icon_plus.png) no-repeat center center;
	background-size:18px;
	width: 35px;
	min-height: 100%;
	height: 100%;
	right: 10px;
	top: 0;
	cursor: pointer;
}
#spMenu ul li .gmspmenu.on:before{
	background: url(../png/icon_minus.png) no-repeat center center;
	background-size:18px;
}
#spMenu ul li .gmspmenu:after {
	display:none;
}
#spMenu ul li ul li ul {
	border-top: 1px solid rgba(0, 0, 0, 0.3);
}
#spMenu ul li ul li ul li {
	padding-left:1em;
	border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
}
#spMenu ul li ul li ul li a {
	padding:12px 45px 12px 25px;
}
#spMenu img.newwin {
	margin: 0px 0px 0px 3px;
	vertical-align: middle;
}

/* ================================================
maintenance
==================================================*/



#maintenance .maintenanceArea  p{
	width: 92%;
	margin: 0 auto 3%;
	
}


/* search_box */


#header #header_menu .search_area {
	display:none;
	position:absolute;
	width:90%;
	margin-top:63px;
	border-right:none;
	padding-right:0;
	background:#eee;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding:10px 5%;
	z-index:10;
}

#header #header_menu .search_area.at,
#header #header_menu .search_area.at #___gcse_0,
#header #header_menu .search_area.at #___gcse_0 div{
	display:block;	
}
#search_box p {
	margin-left:10px;
}


#search_box input[type="text"]{
	height:20px;
	width:75%;
	margin-left:10px;
}

#search_box input {
	float:left;
	display:block;
}


#header #header_menu #___gcse_0 .gsc-input-box {
	width: 100%;

	border: 1px solid #D9D9D9;
}

#header #header_menu #___gcse_0 .gsib_a {
    width: 100%;
    padding: 0px 6px 0;
}
