@charset "UTF-8";



/* font size change
-------------------------------------------------------------------*/
/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */

.fontS {
	font-size: 120%;
}

.fontM {
	font-size: 140%;
}

.fontL {
	font-size: 280%;
}

#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 {
/* CMS006 */
/* buttonへ変更 */
	padding: 4px;
/* CMS006 END */
	color: #000000;
	background-color: #EEEEEE;
	border:1px #cccccc solid;
	line-height: 1em;
	cursor: pointer;
	font-size: 1em;
}

.en #sp_fontChange button {
	text-indent: -9999px;
	padding:0;
	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); */
}

/* CMS006 */
/* buttonへ変更 */
#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;}
/* CMS006 END */

.en #sp_fontChange button.small {
	background:url(/template-assets/tp4a3645ca/c2f47b0c9e.gif) no-repeat left top;
}

.en #sp_fontChange button.middle {
    background:url(/template-assets/tp4a3645ca/0c3e712e62.gif) no-repeat left top;
}

.en #sp_fontChange button.large {
	background:url(/template-assets/tp4a3645ca/3e5ad00c76.gif) no-repeat left top;
}

.en.fontS #sp_fontChange button.small {
	background:url(/template-assets/tp4a3645ca/02bcd5d803.gif) no-repeat left top;
}

.en.fontM #sp_fontChange button.middle {
    background:url(/template-assets/tp4a3645ca/30ae2fbd58.gif) no-repeat left top;
}

.en.fontL #sp_fontChange button.large {
	background:url(/template-assets/tp4a3645ca/2a48d682dd.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 {
/* CMS006 */
/* buttonへ変更 */
	display:flex;
	position:absolute;
	top:0;
	right:0;
	font-size:100%;
	line-height:1;
	padding: 5px 6px;
	gap: 13px;
/* CMS006 END */
}
/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */

#header #sp_menu #sp_menu_btn{
/* CMS006 */
/* buttonへ変更 */
	display:flex;
	align-items: flex-end;
	justify-content: center;
	height:58px;
	width:50px;
	font-size:50%;
	color:#094FA4;
	padding-inline: unset;
	padding-block: unset;
	border: none;
	background-color: transparent;
/* CMS006 END */
}

#header #sp_menu #sp_menu_btn:before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	border-left: 1px solid #e8e8e8;
	right: 61px;
}

/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_menu #sp_menu_btn span:before{
	content:" ";
	position:absolute;
	height:50px;
	width:50px;
	background:url(/template-assets/tp4a3645ca/83439e7b5b.png) no-repeat center center;
	background-size:30px;
	top:0;
	right:6px;
	cursor:pointer;
}
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_menu #sp_menu_btn.on span:before{
	content:" ";
	position:absolute;
	height:50px;
	width:50px;
	background:url(/template-assets/tp4a3645ca/2cdb123421.png) no-repeat center center;
	background-size:30px;
	top:0;
	right:6px;
	cursor:pointer;
}

/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_menu .search {
	display: flex;
	flex-direction: column;
	justify-content: space-evenly;
	height:50px;
	color:#ffffff;
	background-color:#007BB7;
	border-radius:5px;
	align-items:center;
	border:none;
	width:50px;
}
#header #sp_menu .search img {width:1em;}
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_menu #sp_sns_btn {
	height:50px;
	width:50px;
	border:none;
	padding-inline:unset;
	padding-block:unset;
	background-color: transparent;
}
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_menu #sp_sns_btn:before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	border-left: 1px solid #e8e8e8;
	left: 62px;
}
/* CMS006 END */

/* CMS006 */
/* buttonへ変更 */
#header #sp_sns_btn span {display:block; text-indent:100%; white-space:nowrap; overflow:hidden; height:1px; width:1px;}
/* CMS006 END */

.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;
}

/* CMS006 */
/* buttonへ変更 */
#sitemap .inner dt button.more-links{
	position:absolute;
	content:" ";
	background:#B7E0F3 url(/template-assets/tp4a3645ca/4fc926afa7.png) no-repeat center center;
	background-size:20px;
	width:45px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
	padding-left:0;
	border:none;
/* CMS006 END */
}

/* CMS006 */
/* buttonへ変更 */
#sitemap .inner dt.at button.more-links{
	position:absolute;
	content:" ";
	background:#B7E0F3 url(/template-assets/tp4a3645ca/6650b8b5b4.png) no-repeat center center;
	background-size:20px;
	width:45px;
	min-height:100%;
	height:100%;
	right:0;
	top:0;
	cursor:pointer;
	padding-left:0;
	border:none;
/* CMS006 END */
}



#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(/template-assets/tp4a3645ca/9742422ee9.png) no-repeat center center;
	background-size:15px;
	width:15px;
	height:15px;
}

/* CMS006 */
/* buttonへ変更 */
#sitemap .inner dt button.more-links:before{
/* CMS006 END */
	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(/template-assets/tp4a3645ca/9742422ee9.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(/template-assets/tp4a3645ca/1039140683.png) no-repeat center center;
	background-size:142px;
	padding:10%;
	cursor:pointer;
}

.en #pagetop {
	background:url(/template-assets/tp4a3645ca/17cb159009.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(/template-assets/tp4a3645ca/9742422ee9.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;
}
#spMenu .spMenu_function li img{
	top: 0;
	bottom: 0;
	margin: auto;
	height: 24px;
	vertical-align: middle;
}
#spMenu .spMenu_function li span{
	padding: 5px;
}

/* CMS006 */
/* buttonへ変更 */
#spMenu .spMenu_function li .gmspmenu_language{
        flex: 1;
        padding: 12px 15px;
        color: #fff;
        text-align: unset;
        background: transparent;
        border: none;
		/* 文字サイズ変更ボタンでfont-sizeを変更できるように、font-size:100%を設定 */
        font-size: 100%;
/* CMS006END */
}

#spMenu .spMenu_function .menu_second-level.on{
	background-color: #046EAA;
}

#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;
}
#spMenu .spMenu_function li ul li .sentence-space{
	display: inline-block;
	width: 20px;
}

#spMenu ul li .title_of_menu_second-level{
	display: flex;
	align-items: stretch;
	gap: 3px;
}

#spMenu ul li a{
/* CMS006 */
/* buttonへ変更 */
	display:block;
	color:#fff;
	text-decoration:none;
	position: relative;
/* CMS006 */
}

#spMenu ul li a:first-child{
	padding: 12px 45px;
	flex: 1;
}

#spMenu ul li a:not(.gmspmenu,.gmspmenu_language):after{
	display:inline-block;
	position:absolute;
	content:" ";
	margin:auto;
	left: 15px;
	top:0;
	bottom:0;
	background:url(/template-assets/tp4a3645ca/6a66c28bb6.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(/template-assets/tp4a3645ca/4fc926afa7.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(/template-assets/tp4a3645ca/6650b8b5b4.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(/template-assets/tp4a3645ca/6a66c28bb6.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 {
	background:#0b4389;
/* CMS006 */
/* buttonへ変更 */
	width:55px;
	border:none;
	position: relative;
/* CMS006 END */
}
#spMenu ul li .gmspmenu:before{
	position: absolute;
/* CMS006 */
/* buttonへ変更 */
/* CMS006 END */
	content: " ";
	background: url(/template-assets/tp4a3645ca/4fc926afa7.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(/template-assets/tp4a3645ca/6650b8b5b4.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%;
	padding:3px 0;
	border: 1px solid #D9D9D9;
}
#header #header_menu #___gcse_0 .gsib_a {
	width: 100%;
	padding: 3px 6px;
}
#header #header_menu #___gcse_0 .gsib_b {
	width:2em;
	height:1.2em;
}
#header #header_menu .gsc-search-box {
	margin:0;
	width:100%;
	max-width: unset;
}
#header #header_menu .gsc-search-box .gsc-input {
	padding-right: 5px !important;
	font-size:100%;
}
.fontL #header #header_menu .gsc-search-box .gsc-input {font-size:100%;}
#header #header_menu .gsc-search-button {display: inline-block!important;}
#header #header_menu td.gsc-search-button {display: table-cell!important;}
#header #header_menu .gsc-search-button-v2 {
	padding: 8px 10px; font-size:100%;
}
.fontL #header #header_menu .gsc-search-button-v2 {font-size:100%;}
#header #header_menu .gsc-search-button-v2 svg {width: 13px;}

