@charset "utf-8";

body {
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 13px;
	color: #666666;
	line-height:1.5;
	min-width:960px;
}

a{
	text-decoration: none;
	color: #666666;
}

a:link {
	text-decoration: none;
	color: #333D7F;
}

a:visited {
	text-decoration: none;
}

a:active {
	text-decoration: none;
}

a:hover {
	color: #333D7F;
	text-decoration: underline;
}

a.link,
.link a {
	color: #333D7F !important;
	text-decoration:underline !important;
}

a.link:hover,
.link a:hover {
	text-decoration:none !important;
}

a:visited{
	color: #333D7F;
}

sub{
	margin-left: 0.1em;
	font-size: 0.7em;
	vertical-align: baseline;
}

/*------------------------------------------------------------
wrapper
--------------------------------------------------------------*/

#wrapper{
	width:100%;
	margin:0 auto;
}

/*------------------------------------------------------------
header
------------------------------------------------------------*/

#header{
	width:100%;
}
	#header_inner{
		overflow:hidden;
		width:960px;
		margin:0 auto;
		padding:16px 0;
	}

	#header #logo{
		float:left;
	}
	#header #logo img{
		backface-visibility: hidden;
	}
		#logo img:hover{
			opacity:1;
			filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
		}

	#header_right{
		overflow:hidden;
		float:right;
	}

	#select_language ul li:first-child{
		padding-right:3px;
	}

	#font_size_change,
	#select_language,
	#search{
		float:left;
		margin-left:20px;
	}
		#font_size_change > img,
		#font_size_change ul,
		#font_size_change ul li,
		#select_language ul li,
		#search input,
		#search img{
			float:left;
		}

	#font_size_change .change_btn li img{
		cursor:pointer;
	}

	#search input{
		min-height:22px;
		border-radius:0;
	}
	#search .button{
		width:24px;
		height:24px;
		border:none;
		background:url("../../../../__assets/from_theme/old_assets/common/img/btn_search.gif") no-repeat left center;
	}
		#search .button:hover{
			cursor:pointer;
		}
/*------------------------------------------------------------
gnav
------------------------------------------------------------*/
#gnav_wrap{
	width:100%;
	background:url("../../../../__assets/from_theme/old_assets/common/img/bg_nav.png") repeat-x left top;
	border-top:2px solid #343D7F;
	border-bottom:1px solid #ddd;
}
	#gnav{
		margin:0 auto;
	}
		#gnav h1{
			display:none;
		}
		#gnav ul{
			width:960px;
			margin:0 auto;
			overflow:hidden;
		}
			#gnav ul li{
				float:left;
				display:inline;
				width:192px;
				height:40px;
			}
				#gnav li.current,
				#gnav li a{
					display:block;
					text-indent:100%;
					white-space:nowrap;
					overflow:hidden;
				}
				#gnav li a{
					width:192px;
					height:40px;
					opacity:0;
					filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0);
					-moz-transition: 0.5s ease;
					-webkit-transition: 0.5s ease;
					-o-transition: 0.5s ease;
					-ms-transition: 0.5s ease;
					transition: 0.5s ease;
					transition-property:opacity;
				}
					#gnav li a:hover{
						opacity:1;
						filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
					}

			#gnav li.gnav01{
				background:url("../../../../__assets/from_theme/old_assets/common/img/nav01.png") no-repeat left top;
			}
				#gnav li.gnav01.current,
				#gnav li.gnav01 a{
					background:url("../../../../__assets/from_theme/old_assets/common/img/nav01_on.gif") no-repeat left top;
				}
			
			#gnav li.gnav02{
				background:url("../../../../__assets/from_theme/old_assets/common/img/nav02.png") no-repeat left top;
			}
				#gnav li.gnav02.current,
				#gnav li.gnav02 a{
					background:url("../../../../__assets/from_theme/old_assets/common/img/nav02_on.gif") no-repeat left top;
				}
			
			#gnav li.gnav03{
				background:url("../../../../__assets/from_theme/old_assets/common/img/nav03.png") no-repeat left top;
			}
				#gnav li.gnav03.current,
				#gnav li.gnav03 a{
					background:url("../../../../__assets/from_theme/old_assets/common/img/nav03_on.gif") no-repeat left top;
				}
			
			#gnav li.gnav04{
				background:url("../../../../__assets/from_theme/old_assets/common/img/nav04.png") no-repeat left top;
			}
				#gnav li.gnav04.current,
				#gnav li.gnav04 a{
					background:url("../../../../__assets/from_theme/old_assets/common/img/nav04_on.gif") no-repeat left top;
				}
			
			#gnav li.gnav05{
				background:url("../../../../__assets/from_theme/old_assets/common/img/nav05.png") no-repeat left top;
			}
				#gnav li.gnav05.current,
				#gnav li.gnav05 a{
					background:url("../../../../__assets/from_theme/old_assets/common/img/nav05_on.gif") no-repeat left top;
				}

/*------------------------------------------------------------
topic_path
------------------------------------------------------------*/
#topic_path{
	width:960px;
	margin:10px auto;
	overflow:hidden;
}
	#topic_path li{
		float:left;
		margin-right:0.5em;
	}
		#topic_path a{
			color: #333D7F;
		}
			#topic_path a:hover{
				text-decoration: underline;
			}

/*------------------------------------------------------------
contents
------------------------------------------------------------*/
#contents{
	/*overflow:hidden;*/
	width:960px;
	margin:0 auto 30px;
}

#contents:before,
#contents:after,
#contents_main:before,
#contents_main:after {
	content: ".";
	display: block;
	height: 0;
	overflow: hidden;
}
#contents:after,
#contents_main:after {clear: both;}
#contents,
#contents_main {zoom: 1;} /* IE < 8 */

	#contents_main{
		/*overflow:hidden;*/
		float:right;
		display:inline;
		width:680px;
	}
	#contents_side{
		float:left;
		display:inline;
		width:250px;
	}

.list-photolist > li:nth-child(3n+1){
	clear:both;
}


.page_top {
	display: none;
	position: fixed;
	bottom:105px;
	right: 40px;
}
.page_top a {
	display: block;
	width:40px;
	height:40px;
	overflow: hidden;
	text-indent: 100%;
	white-space: nowrap;
	background: url("../../../../__assets/from_theme/old_assets/common/img/arrow_page_top.png") no-repeat center center #333D7F;
	color:#fff;
}

/*------------------------------------------------------------
news_release
------------------------------------------------------------*/
.news_area{
	position:relative;
}
	.look_list{
		position:absolute;
		top:3px;
		right:12px;
		padding:8px 0;
	}
	.look_list a{
		color: #333D7F;
	}

dl.news_release{
	overflow:hidden;
	padding:15px;
}
	dl.news_release dt{
		float:left;
		display:inline;
		clear:both;
		margin:14px 20px 0 0;
		padding-left:90px;
	}
		dl.news_release dt:first-child,
		dl.news_release dt:first-child + dd{
			margin-top:0;
		}
		
		.icon_event{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_event.gif") no-repeat left center;
		}
		.icon_important{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_important.gif") no-repeat left center;
		}
		.icon_ir{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_ir.gif") no-repeat left center;
		}
		.icon_news{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_news.gif") no-repeat left center;
		}
		.icon_other{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_other.gif") no-repeat left center;
		}
		.icon_product{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_product.gif") no-repeat left center;
		}
		.icon_recruit{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_recruit.gif") no-repeat left center;
		}
		.icon_group{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_group.gif") no-repeat left center;
		}
		dl.news_release dd{
			margin-top:14px;
			padding:0 0 14px 17.5em;
			border-bottom:1px dashed #ddd;
		}
		dl.news_release dd:last-child{
			border-bottom:none;
		}

/*------------------------------
section
------------------------------*/

/* h2ブロック */
main > .section{
	margin:0 10px;
}

/* 各ブロックの最初のsection */
h2 + .section,
h3 + .section,
h4 + .section,
h5 + .section,
h6 + .section{
	margin-top:0 !important;
}

/* 2個目以降のh2ブロック */
main > .section + .section{
	margin:30px 10px 0;
}

/* 2個目以降のh3ブロック */
main > .section > .section + .section{
	margin:20px 0 0;
}

/* 2個目以降のh4ブロック */
main > .section > .section > .section{
	margin:15px 0 0;
}

/* 2個目以降のh5ブロック */
main > .section > .section > .section > .section{
	margin:10px 0 0;
}

.box-section{
	margin-bottom:50px;
}
	.box-section-inner{
		margin-top:30px;
	}

/*------------------------------
hX
------------------------------*/
.subttl_bar,
.middle_bar,
.light_bar,
.little_bar{
	padding:8px 12px 7px;
	font-size:110%;
	letter-spacing:0.1em;
}

.ttl_bar{
	padding:7px 12px;
	font-weight:bold;
	color:#343D7F;
	border:1px solid #ddd;
	border-bottom:2px solid #459DBF;
	background: #ffffff; /* Old browsers */
	background: -moz-linear-gradient(top,  #ffffff 0%, #f9f9f9 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f9f9f9)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #ffffff 0%,#f9f9f9 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #ffffff 0%,#f9f9f9 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #ffffff 0%,#f9f9f9 100%); /* IE10+ */
	background: linear-gradient(to bottom,  #ffffff 0%,#f9f9f9 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f9f9f9',GradientType=0 ); /* IE6-9 */
	font-size:120%;
	letter-spacing:0.15em;
}

.subttl_bar{
	color:#fff;
	background-color:#343D7F;
	border-top:1px solid #343D7F;
	border-bottom:2px solid #343D7F;
}

.subttl_bar.square{
	padding:15px 12px 15px;
}

.middle_bar{
	color:#fff;
	background-color:#636A7A;
	border-top:1px solid #636A7A;
	border-bottom:2px solid #636A7A;
}

.light_bar{
	background-color:#F2F6F6;
	border-bottom:1px solid #636A7A;
	border-left:3px solid #636A7A;
	color:#636A7A;
	font-weight:bold;
	font-size:115%;
}

.little_bar{
	display:inline-block;
	padding:2px 12px 1px;
	background-color:#767B9E;
	color:#fff;
}

.little_border_bar{
	position: relative;
	margin-bottom: 1em;
	padding: 0 0 8px 1.5em;
	border-bottom:2px solid #767B9E;
	color:#767B9E;
	font-size: 115%;
	font-weight: bold;
}
.little_border_bar:before{
	position: absolute;
	content: "";
	top: 0.3em;
	right: auto;
	bottom: auto;
	left: 0;
	width: 0.9em;
	height: 0.9em;
	background-color: #767B9E;
}

.subttl{
	color: #343D7F;
	font-size: 115%;
	font-weight: bold;
	letter-spacing:0.1em;
}

.definition_ttl{
	color: #636A7A;
	font-size: 115%;
	font-weight: bold;
	letter-spacing:0.1em;
}

.arrow_white_double{
	background-image:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_double.png");
	background-repeat:no-repeat;
	background-position:96% center;
}

.fill_bar{
	padding:13px 16px;
	background-color: #ddd;
}

h1 + *,h2 + *,h3 + *,h4 + *,h5 + *,h6 + *{
	margin-top:0 !important;
}

/*------------------------------------------------------------
side
------------------------------------------------------------*/
#side{
	overflow:hidden;
	float:left;
	width:225px;
}

/*------------------------------
local_nav
------------------------------*/
#local_nav h2{
	padding:8px 12px 8px 35px;
	font-weight:bold;
	font-size:120%;
	color:#343D7F;
	background:url("../../../../__assets/from_theme/old_assets/common/img/ttl_icon_arrow.gif") no-repeat left center #F3F8F8;
	border:1px solid #ddd;
	border-left:none;
	letter-spacing:0.15em;
}

#local_nav > ul{
	margin-top:-1px;
}
	#local_nav ul li a{
		display:block;
		width:223px;
		padding:7px 12px 7px 13px;
		border:1px solid #ddd;
		border-top:none;
		text-decoration:none;
		-moz-transition: 0.4s ease;
		-webkit-transition: 0.4s ease;
		-o-transition: 0.4s ease;
		-ms-transition: 0.4s ease;
		transition: 0.4s ease;
		transition-property: background-color,width,color,border;
	}
		#local_nav > ul > li > a:before{
			content:"－";
			padding-right:10px;
			color:#767B9E;
		}

		#local_nav > ul > li > a:hover{
			width:220px;
			background-color:#767B9E;
			border:1px solid #767B9E;
			border-top:none;
			border-bottom:1px solid #fff;
			color:#fff;
		}
		#local_nav > ul > li:last-child > a:hover{
			border-bottom:1px solid #767B9E;
		}

		#local_nav .current a{
			width:220px;
			background-color:#767B9E;
			border:1px solid #767B9E;
			border-top:none;
			border-bottom:1px solid #fff;
			color:#fff;
		}

		#local_nav > ul > li > a:hover:before,
		#local_nav .current > a:before{
			color:#fff;
		}
		
		#local_nav .accordion > a{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_blue_down.png") no-repeat 220px center #fff;
		}
		#local_nav .accordion > a:hover{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_down.png") no-repeat 220px center #767B9E;
		}
		#local_nav .current.accordion > a{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_up.png") no-repeat 220px center #767B9E;
		}
			#local_nav .accordion_inner a{
				width:202px;
				padding:7px 0 7px 43px;
				background-color:#f1f1f1;
				border-top:none;
				border-bottom:1px solid #ccc;
				border-left:1px solid #ddd;
				border-right:1px solid #ddd;
				color:#5A6081;
			}
				#local_nav .accordion_inner a:hover,
				#local_nav .current .accordion_inner .accordion_current a{
					background-color:#888;
					border-color:#888;
					border-bottom:1px solid #888;
					color:#fff;
				}


/*------------------------------------------------------------
footer
------------------------------------------------------------*/
#footer_wrap{
	padding:20px 0;
	border-top:2px solid #333D7F;
}
	#footer_wrap footer{
		width:960px;
		margin:0 auto;
	}
		#footer_wrap footer ul{
			overflow:hidden;
			margin-bottom:20px;
		}
			#footer_wrap footer ul li{
				float:left;
				margin-right:20px;
			}

/*------------------------------------------------------------
	共通
------------------------------------------------------------*/

/*------------------------------
各indexタイトル部分
------------------------------*/
#index_visual{
	width:960px;
	padding: 1.2em 160px 1.2em 1.8em;
	margin:0 auto 30px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 115.3%; /*15px*/
}
	#index_visual .title-mv{
		display: inline-block;
		padding: .3em 1em;
		margin-bottom: .7em;
		letter-spacing:0.1em;
		color: #fff;
		font-size: 120%; /*18px*/
		font-weight: normal;
	}

	.title-category h1 {
		margin-bottom: .4em;
		font-weight: bold;
		font-size: 213.3%; /*32px*/
		letter-spacing:0.1em;
	}
	.title-category h1.shadow_drop{
		text-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5),-1px -1px 2px rgba(0, 0, 0, 0.4);
	}
	.title-category p.shadow_drop,
	.title-category span.shadow_drop{
		text-shadow:1px 1px 1px rgba(0, 0, 0, 0.5), -1px -1px 1px rgba(0, 0, 0, 0.6), 1px 1px 11px rgba(0, 0, 0, 1);
		font-size:115%;
		letter-spacing:0.05em;
	}

/* 背景画像無し版タイトル */
.title-category02 {
	padding-bottom: 0.2em;
	border-bottom: 2px solid currentColor;
	margin-bottom: 1em;
	color: #343D7F;
	font-size: 246.2%; /*32px*/
	font-weight: bold;
	letter-spacing:0.1em;
}
/*------------------------------
	コンテンツリスト 300pxのboxが並ぶページ
------------------------------*/

#contents_inner{
	margin-top:-30px;
	margin-right: -30px;
	overflow:hidden;
	*zoom: 1;
	display: flex;
	flex-wrap: wrap;
}
	.list-indexboxes .column{
		width:300px;
		margin:30px 30px 0 0;
	}
		.list-indexboxes .column a{
			display: block;
			color: inherit;
		}
		.list-indexboxes .column figure{
			display: block;
			margin-bottom: 1em;
			height: 120px;
			overflow: hidden;
		}
		.list-indexboxes .column figure.img-responsive_vertical{
			margin-bottom: 0;
			height: auto;
		}

	.list-indexboxes .column2{
		width:465px;
		margin:30px 30px 0 0;
	}
		.list-indexboxes .column2 figure{
			height:150px;
		}

	.list-indexboxes .column3{
		width:300px;
		float:right;
		padding-right: 67%;
		margin:30px 30px 0 0;
	}
		.list-indexboxes .column3 a{
			display: block;
			color: inherit;
		}
		.list-indexboxes .column3 figure{
			display: block;
			margin-bottom: 1em;
			height: 120px;
			overflow: hidden;
		}
		.list-indexboxes .column3 figure.img-responsive_vertical{
			margin-bottom: 0;
			height: auto;
		}
.ir_data_list {
	min-height: 207px;
}
@media only screen and (max-width: 640px) {
	.list-indexboxes .column3{
		width:100%;
		float:right;
		padding-right: 0;
		margin:0 auto;
		margin-top: 30px;
	}
		.list-indexboxes .column3 a{
			display: block;
			color: inherit;
		}
		.list-indexboxes .column3 figure{
			display: block;
			margin-bottom: 1em;
			height: 120px;
			overflow: hidden;
		}
		.list-indexboxes .column3 figure.img-responsive_vertical{
			margin-bottom: 0;
			height: auto;
		}
		.ir_data_list {
			min-height: auto;
		}
	
	
}


/*------------------------------
	レスポンシブ対応の画像
------------------------------*/
.img-responsive img,
.img-responsive_vertical img{
	display: block;
	width: 100%;
	height: auto;
	background-color:#fff;
}

/*------------------------------
リスト
------------------------------*/
.list_indet li{
	text-indent: -1.3em;
	margin-left: 1.3em;
}

/*----------
アンカーリスト
----------*/
.anchor_list{
	margin-bottom:20px;
	border-bottom:2px solid #636A7A;
}
	.anchor_list li{
		float:left;
		margin:1px 1px 0 0;
	}
		.anchor_list li a{
			display:block;
			position:relative;
			top:0;
			left:0;
			padding:7px 1.3em 7px 2.5em;
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_down.png") no-repeat 1em center #636A7A;
			border:1px solid #636A7A;
			border-bottom:none;
			color:#fff;
			-moz-transition: 0.4s ease;
			-webkit-transition: 0.4s ease;
			-o-transition: 0.4s ease;
			-ms-transition: 0.4s ease;
			transition: 0.4s ease;
			transition-property: background-color,color,margin,padding;
		}
			.anchor_list li a:hover{
				margin-top:-5px;
				padding-bottom:12px;
				background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_gray_down.png") no-repeat 1em 0.95em #fff;
				text-decoration:none;
				color:#636A7A;
			}

.anchor_list_flex{
	overflow: hidden;
	margin: 0 -10px 40px;
}
.anchor_list_flex li{
	float: left;
	width: 25%;
	padding: 0 10px;
	box-sizing: border-box;
}
.anchor_list_flex li a{
	position: relative;
	display:block;
	padding: 1em 0.2em;
	background-color:#459DBF;
	border:1px solid #459DBF;
	color:#fff;
	text-align: center;
	text-decoration:none;
	-ms-transition: 0.4s ease;
	transition: 0.4s ease;
	transition-property: background-color,color,margin,padding;
}
.anchor_list_flex li a:after{
	position: absolute;
	content: "";
	top: 1px;
	right: 1px;
	bottom: 1px;
	left: 1px;
	border: 1px solid #fff;
}
.anchor_list_flex li a:hover{
	background-color:#fff;
	color:#459DBF;
}
.anchor_list_flex li a span{
	padding-left: 2em;
	background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_down.png") no-repeat left 54%;
	font-size: 115%;
}
.anchor_list_flex li a:hover span{
	background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_light_blue_down.png") no-repeat left 54%;
}
.anchor_list_flex li a:hover:after{
	border-color: #459DBF;
}

/*----------
テキストリンクのリスト
----------*/
.link_list > li{
	margin-top:0.4em;
	padding-left:10px;
	background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_brown.png") no-repeat left center;
}
	.link_list > li:first-child{
		margin-top:0;
	}
	
	.link_list .link_list{
		padding-left:10px;
	}

	.link_list .link_list_ttl{
		padding-left:0;
		background:none;
	}
		.link_list .link_list_ttl li{
			padding-left:10px;
		}

.list_disc{
	padding-left:10px;
	background:url("../../../../__assets/from_theme/old_assets/common/img/list_disc.png") no-repeat left center;
}


/* 横並び */
.link_list.horizon{
	overflow:hidden;
	margin-top:-0.4em;
}
	.link_list.horizon li{
		float:left;
		margin-right:15px;
	}

	.link_list.horizon > li:first-child{
		margin-top:0.4em;
	}

/*----------
その他リスト共通
----------*/
.disc_list,
.decimal_list,
.circle_list{
	padding-left:1.8em;
}

.disc_list > li,
.decimal_list > li,
.circle_list > li,
.sublist > li{
		margin-top:0.4em;
}
	.disc_list > li:first-child,
	.decimal_list > li:first-child,
	.circle_list > li:first-child,
	.sublist > li:first-child,
	.multiline > li:first-child,
	.oneline > li:first-child{
		margin-top:0 !important;
	}

/* 複数行のリスト */
.multiline > li{
	margin-top:0.7em;
}

/* 一行のリスト */
.oneline > li{
	margin-top:0.4em;
}


/*----------
「・」のリスト
----------*/
.disc_list > li{
	list-style-type: disc;
}

/*----------
「○」のリスト
----------*/
.circle_list > li{
	list-style-type: circle;
}

/*----------
「-」のリスト
----------*/
.sublist {
	padding-left:1.1em;
}
	.sublist >li{
		background-image: none;
	}
		.sublist >li:before {
			content:"-";
			margin-right: .6em;
		}

/*----------
「■」のリスト
----------*/
.square_list {
	position:relative;
}
	.square_list >li{
		background-image: none;
		padding-left:1.3em;
	}
		.square_list >li:before {
			content:"■";
			position:absolute;
			left:0;
		}


/*------------------------------
定義リスト
------------------------------*/
dt{
	margin:10px 0 5px;
}

dt:first-child{
	margin-top:0 !important;
}

dd + dd{
	margin-top:10px;
}


/* 横型の定義リスト */
.horizon_dl{
	overflow:hidden;
	margin-top:10px;
}

.horizon_dl dt{
	float:left;
	display:inline;
	clear:both;
	margin-bottom:0;
}

.horizon_dl dd{
	overflow:hidden;
	margin-top:10px;
}

.horizon_dl > dt:first-child + dd{
	margin-top:0;
}


.date_dl{
	overflow:hidden;
	padding-left:5px;
}
	.date_dl dt{
		float:left;
		display:inline;
		clear:both;
		margin:7px 20px 0 0;
	}
		dl.date_dl dt:first-child,
		dl.date_dl dt:first-child + dd{
			margin-top:0;
		}
		
		
		.date_dl dd{
			margin-top:7px;
			padding-left:10em;
		}

/*------------------------------
表示類
------------------------------*/
.uppercase{
	text-transform:uppercase;
}

.notes{
	font-size:92%;
}

.small{
	font-size:80%;
}

.display_block{
	display:block;
}

.underline{
	text-decoration:underline;
}


/*------------------------------
テキスト類
------------------------------*/
.txt{
}

.lead + .txt,
.txt + .txt{
	margin-top:1em;
}

.txt_paragraph{
	margin-top:2em;
}

.txt_indent{
	text-indent:-1em;
	margin-left:1em;
}

.line_height_1{
	line-height:1;
}

.replace{
	display:block;
	text-indent:100%;
	white-space:nowrap;
	overflow:hidden;
}

.nowrap{
	display:block;
}

.txt__bold {
  font-weight: 700;
}

.color__main {
  color: #343D7F;
}

/*----------
装飾
----------*/
.notice_color_red{
	color:#F00;
}

/*------------------------------
リンク類
------------------------------*/
.btn a{
	display: block;
	padding:0.3em 45px 0.3em 13px;
	background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_double.png") no-repeat right 13px center #343D7F;
	border-radius: 3px;
	color:#fff;
	font-size:110%;
	text-decoration: none;
}
.btn_border a{
	display: block;
	padding:0.3em 45px 0.3em 13px;
	background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_blue_double.png") no-repeat right 13px center;
	border:1px solid #343D7F;
	border-radius: 3px;
	color:#343D7F;
	font-size:110%;
	text-decoration: none;
}
.btn.inline a,
.btn_border.inline a{
	display: inline-block;
}
.btn_mrgT{
	margin-top: 1.2em;
}



/*------------------------------
テーブル
------------------------------*/
.basic_table{
	width:100%;
	margin-top:30px;
}
	.basic_table caption{
		margin-bottom:10px;
	}
	h1 + .basic_table{
		margin-top:0;
	}
		.basic_table th,
		.basic_table td{
			padding:15px;
			border-top:7px solid #fff;
			vertical-align:middle;
		}
			.basic_table tr:first-child th,
			.basic_table tr:first-child td{
				border-top:none;
			}
		.basic_table th{
			text-align:center;
			background-color:#EAEAEA;
		}

.break_all{
	word-break: break-all;
}

.va_t{vertical-align:top;}
.va_m{vertical-align:middle;}
.va_b{vertical-align:bottom;}

/*------------------------------
margin padding
------------------------------*/
.mt_0{margin-top: 0 !important;}
.mt_5{margin-top: 5px !important;}
.mt_10{margin-top: 10px !important;}
.mt_15{margin-top: 15px !important;}
.mt_20{margin-top: 20px !important;}
.mt_25{margin-top: 25px !important;}
.mt_30{margin-top: 30px !important;}
.mt_35{margin-top: 35px !important;}
.mt_40{margin-top: 40px !important;}
.mt_1em{margin-top: 1em !important;}

.mr_0{margin-right: 0 !important;}
.mr_5{margin-right: 5px !important;}
.mr_10{margin-right: 10px !important;}
.mr_15{margin-right: 15px !important;}
.mr_20{margin-right: 20px !important;}
.mr_25{margin-right: 25px !important;}
.mr_30{margin-right: 30px !important;}
.mr_35{margin-right: 35px !important;}
.mr_40{margin-right: 40px !important;}
.mr_1em{margin-right: 1em !important;}

.mb_0{margin-bottom: 0 !important;}
.mb_5{margin-bottom: 5px !important;}
.mb_10{margin-bottom: 10px !important;}
.mb_15{margin-bottom: 15px !important;}
.mb_20{margin-bottom: 20px !important;}
.mb_25{margin-bottom: 25px !important;}
.mb_30{margin-bottom: 30px !important;}
.mb_35{margin-bottom: 35px !important;}
.mb_40{margin-bottom: 40px !important;}
.mb_1em{margin-bottom: 1em !important;}

.ml_0{margin-left: 0 !important;}
.ml_5{margin-left: 5px !important;}
.ml_10{margin-left: 10px !important;}
.ml_15{margin-left: 15px !important;}
.ml_20{margin-left: 20px !important;}
.ml_25{margin-left: 25px !important;}
.ml_30{margin-left: 30px !important;}
.ml_35{margin-left: 35px !important;}
.ml_40{margin-left: 40px !important;}
.ml_1em{margin-left: 1em !important;}

.pt_0{padding-top: 0 !important;}
.pt_5{padding-top: 5px !important;}
.pt_10{padding-top: 10px !important;}
.pt_15{padding-top: 15px !important;}
.pt_20{padding-top: 20px !important;}
.pt_25{padding-top: 25px !important;}
.pt_30{padding-top: 30px !important;}
.pt_35{padding-top: 35px !important;}
.pt_40{padding-top: 40px !important;}

.pr_0{padding-right: 0 !important;}
.pr_5{padding-right: 5px !important;}
.pr_10{padding-right: 10px !important;}
.pr_15{padding-right: 15px !important;}
.pr_20{padding-right: 20px !important;}
.pr_25{padding-right: 25px !important;}
.pr_30{padding-right: 30px !important;}
.pr_35{padding-right: 35px !important;}
.pr_40{padding-right: 40px !important;}


.pb_0{padding-bottom: 0 !important;}
.pb_5{padding-bottom: 5px !important;}
.pb_10{padding-bottom: 10px !important;}
.pb_15{padding-bottom: 15px !important;}
.pb_20{padding-bottom: 20px !important;}
.pb_25{padding-bottom: 25px !important;}
.pb_30{padding-bottom: 30px !important;}
.pb_35{padding-bottom: 35px !important;}
.pb_40{padding-bottom: 40px !important;}


.pl_0{padding-left: 0 !important;}
.pl_5{padding-left: 5px !important;}
.pl_10{padding-left: 10px !important;}
.pl_15{padding-left: 15px !important;}
.pl_20{padding-left: 20px !important;}
.pl_25{padding-left: 25px !important;}
.pl_30{padding-left: 30px !important;}
.pl_35{padding-left: 35px !important;}
.pl_40{padding-left: 40px !important;}

.ta_r{text-align:right !important;}
.ta_c{text-align:center !important;}
.ta_l{text-align:left !important;}

.float_l{float:left;}
.float_r{float:right;}
.lefty { float: left; margin-right: 1.8em; }
.righty { float: right; margin-left: 1.8em; }
.box-half { width: 50%; }
.box-60 { width: 60%; }
.box-40 { width: 40%; }
.clear_both{clear:both;}

.border_box{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

.row{
	overflow:hidden;
	*zoom:1;
}

/*
システムが入るまで非表示にするため
*/
body#news #contents_main,
body.ir_news_list #contents_main{
	/*display:block;*/
	/*float:none;*/
	/*width:auto;*/
}

body#news #contents_side,
body.ir_news_list #contents_side{
	/*display:none;*/
}


@media only screen and (max-width: 640px) {
body{
	min-width:100%;
}
/*------------------------------------------------------------
header
------------------------------------------------------------*/

#header_inner{
	width:100%;
}
	#header #logo{
		float:none;
		text-align:center;
	}
	#header_right{
		float:none;
	}
	
	#font_size_change,
	#select_language,
	#search{
		float:none;
		margin-left:0;
	}
	#font_size_change,
	#select_language{
		display:none;
	}

	#search{
		margin:16px 10px 0;
		text-align:center;
	}
		#search input{
			display:inline;
			float:none;
			vertical-align:bottom;
		}
			#search .text{
				width:75%;
				margin-right:-5px;
			}


/*------------------------------------------------------------
gnav
------------------------------------------------------------*/
#gnav_wrap{
	width:100%;
	background:none;
	border:none;
}
	#gnav_wrap #gnav{
		margin-bottom:20px;
	}
		#gnav_wrap #gnav h1{
			display:block;
			margin-bottom:0;
			padding:0.8em 0;
			cursor:pointer;
			text-align:center;
			-webkit-tap-highlight-color: rgba(0,0,0,0);
			border-top:1px solid #E9E9E9;
			border-bottom:1px solid #E9E9E9;
			background: #ffffff; /* Old browsers */
			background: -moz-linear-gradient(top,  #ffffff 0%, #e9e9e9 100%); /* FF3.6+ */
			background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#e9e9e9)); /* Chrome,Safari4+ */
			background: -webkit-linear-gradient(top,  #ffffff 0%,#e9e9e9 100%); /* Chrome10+,Safari5.1+ */
			background: -o-linear-gradient(top,  #ffffff 0%,#e9e9e9 100%); /* Opera 11.10+ */
			background: -ms-linear-gradient(top,  #ffffff 0%,#e9e9e9 100%); /* IE10+ */
			background: linear-gradient(to bottom,  #ffffff 0%,#e9e9e9 100%); /* W3C */
			filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#e9e9e9',GradientType=0 ); /* IE6-9 */
		}
		#gnav_wrap #gnav h1.gnav_close{
			background:url("../../../../__assets/from_theme/old_assets/common/img/icon_close.png") no-repeat 96% center #dfdfdf; /* Old browsers */
			background-size:14px auto;
		}
			#gnav_wrap #gnav h1 span{
				padding-left:1.7em;
				background:url("../../../../__assets/from_theme/old_assets/common/img/icon_gnav.png") no-repeat left center;
				background-size:14px auto;
			}

		#gnav_wrap #gnav ul{
			width:auto;
			display:none;
		}
			#gnav_wrap #gnav ul li{
				float:none;
				display:block;
				width:100%;
				height:auto;
				border-bottom:1px solid #fff;
				background:none #343D7F;
				color:#fff;
			}
				#gnav_wrap #gnav li.current,
				#gnav_wrap #gnav li a{
					display:block;
					text-indent:0;
					background:none #343D7F;
					color:#fff;
				}
				#gnav_wrap #gnav li a{
					width:100%;
					height:auto;
					padding:1em 0.5em;
					opacity:1;
					filter:progid:DXImageTransform.Microsoft.Alpha(opacity=100);
					transition-property:none;
				}

/*------------------------------------------------------------
topic_path
------------------------------------------------------------*/
#topic_path{
	width:100%;
	display:none;
}

/*------------------------------------------------------------
contents
------------------------------------------------------------*/
#contents{
	width:auto;
	margin:0 10px 30px;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
	#contents_main{
		float:none;
		width:100%;
	}
	#contents_side{
		float:none;
		width:100%;
	}

.page_top{
	display:none !important;
}

.nowrap{
	display:inline;
}

.box-60{
	float: none;
	width: 100%;
}
.box-40{
	float: none;
	width: 100%;
}
/*----------
アンカーリスト
----------*/
.anchor_list li{
	float:none;
	margin:1px 0 0 0;
}

	.anchor_list_flex{
		margin: 0 0 30px;
	}
	.anchor_list_flex li{
		float: none;
		width: auto;
		margin-bottom: 5px;
		padding: 0;
	}
	.anchor_list_flex li a{
		text-align: left;
		padding: 0.8em 0.2em 0.8em 1.5em;
	}
	.anchor_list_flex li a span {
		padding-left: 1.5em;
	}

/*------------------------------
news_release
------------------------------*/
dl.news_release{
	overflow-y:auto;
	height:auto;
	border:1px solid #DDD;
}
	dl.news_release dt{
		float:none;
		display:block;
	}

	dl.news_release dd{
		margin-top:0;
		padding:5px 0 14px 0;
	}
		dl.news_release dt:first-child,
		dl.news_release dt:first-child + dd{
			margin-top:0;
		}



/*------------------------------
各indexタイトル部分
------------------------------*/
#wrapper #index_visual{
	width:100%;
	margin-bottom:25px;
	padding: 1em 1.2em;
	background:none;
	border-left: none;
	border-right: none;
}


/*------------------------------
	コンテンツリスト 300pxのboxが並ぶページ
------------------------------*/

#contents_inner{
	margin-top:0;
	margin-right:0;
}
	.list-indexboxes .column{
		width:100%;
		float:none;
		margin:30px 0 0 0;
	}
		.list-indexboxes .column:first-child{
			margin:0 0 0 0;
		}

	.list-indexboxes .column2 figure{
		height: 150px;
	}


	.list-indexboxes .column2{
		width:100%;
		margin:30px 0 0 0;
	}

/*------------------------------
local_nav
------------------------------*/
	#local_nav ul li a,
	#local_nav > ul > li > a:hover,
	#local_nav .current a{
		width:auto;
	}
		#local_nav .accordion > a{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_blue_down.png") no-repeat 96% center #fff;
		}
		#local_nav .accordion > a:hover{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_down.png") no-repeat 96% center #767B9E;
		}
		#local_nav .current.accordion > a{
			background:url("../../../../__assets/from_theme/old_assets/common/img/arrow_white_up.png") no-repeat 96% center #767B9E;
		}
			#local_nav .accordion_inner a{
				width:auto;
				padding:7px 0 7px 43px;
				background-color:#f1f1f1;
				border-top:none;
				border-bottom:1px solid #ccc;
				border-left:1px solid #ddd;
				border-right:1px solid #ddd;
				color:#5A6081;
			}
				#local_nav .accordion_inner a:hover,
				#local_nav .current .accordion_inner .accordion_current a{
					background-color:#888;
					border-color:#888;
					border-bottom:1px solid #888;
					color:#fff;
				}

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
#footer_wrap{
	padding:20px 10px;
}
	#footer_wrap footer{
		width:100%;
	}
		#footer_wrap footer ul{
			margin-top:-10px;
		}
			#footer_wrap footer ul li{
				float:left;
				margin-top:10px;
			}


}
.buttonarea{
	margin-bottom: 50px;
}
.buttonarea_item{
	margin-bottom: 20px;
}
.buttonarea_item:last-child{
	margin-bottom: 0;
}
.buttonarea_link{
	display: block;
	width: 100%;
	border:1px solid #231815;
	background: #F3F8F8;
	height: 70px;
	vertical-align: middle;
	position: relative;
}
.buttonarea_txt{
	position: absolute;
	top: 50%;
	transform: translate(120px,-50%);
	color: black;
	font-size: 1.2em;
}
.buttonarea_txt .fz__small{
	font-size: 85%;
}
.buttonarea_link::before{
	content: "\f054";
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 0.5rem;
	position: absolute;
	top: 50%;
	left: 100px;
	transform: translateY(-50%);
	color: #231815;

	
}
.buttonarea_logo{
	position: absolute;
	top: 50%;
	right: 100px;
	transform: translateY(-50%);
}
.buttonarea_link:hover{
	background: #343D7F;
	transition-duration: 0.2s;
	color: white;
}
.buttonarea_link:hover::before{
	color: white;
}
.buttonarea_link:hover .buttonarea_txt{
	color: white;
}
@media only screen and (max-width: 640px) {
	.buttonarea_link{
		padding: 1em 1em 1em 2em;
		width: auto;
		height: auto;
		position: relative;
	}
	.buttonarea_link::before{
		top: 50%;
		left: 10px;
	}
	.buttonarea_txt{
		position: static;
		display: block;
		transform: translate(0,0);

	}
	.buttonarea_logo{
		position: static;
		transform: translateY(0);
		margin: 10px auto 0;

	}
}
.buttonarea_logo_02{
    opacity: 1;
    position: absolute;
    top: 50%;
    left: 360px;
    transform: translateY(-50%);
    width: 170px;
}
@media only screen and (max-width: 640px) {
	.buttonarea_logo_02{
		position: static;
		transform: translateY(0);
		margin: 10px auto 0;
		width: auto;

	}
	}