@charset "utf-8";

/*-----

   ir_sp

-----------------------------*/

.table_wrap_sp{
	display: none;
}
@media screen and (max-width: 799px) {
	.base_wide{
		float: inherit;
		min-width: 320px;
		width: auto;
		box-sizing: border-box;
	}
	.table_wrap{
		overflow: auto;
		white-space: nowrap;
		margin-bottom: 15px;
	}
	.table_wrap::-webkit-scrollbar{
		 height: 5px;
	}
	.table_wrap::-webkit-scrollbar-track{
		 background: #F1F1F1;
	}
	.table_wrap::-webkit-scrollbar-thumb {
		 background: #BCBCBC;
	}
	.table_wrap_sp{
		display: block;
	}
	.set_swipe {
		font-size: 12px;
	}
	/*--  ir_top
	---------------------------------------------------- */
	.ir_top{
		padding: 0 12px 0 12px;
	}
	.ir_top_3column {
		font-size: 0;
		display: flex;
		flex-wrap: wrap;
	}
	.ir_top_3column > li {
		font-size: 0;
		position: relative;
		float: left;
		overflow: hidden;
		width: calc(50% - 6px);
		margin: 0 6px 12px 0;
	}
	.ir_top_3column > li:first-child {
		margin: 0 6px 24px 0;
	}
	.ir_top_3column > li:first-child span{
		margin: 0 6px 24px 0;
	}
	.ir_top_3column > li:nth-child(2n) {
		margin: 0 0 24px 6px;
	}
	.ir_top_3column > li:last-child {
		margin: 0 0 12px 0;
	}
	.ir_top_3column > li > a.ir_pickup_box {
		font-size: 14px;
		box-sizing: border-box;
		width: 100%;
		height: calc(100% - 3px);
		padding: 12px;
		border: solid 1px #bdbcb9;
    	border-top: solid 3px #3e7086;
		position: relative;
		display: block;
	}
	.ir_top_3column > li > a.ir_pickup_box::after {
		position: absolute;
		right: -1px;
		bottom: -1px;
		display: block;
		width: 0;
		height: 0;
		content: '';
		border-width: 0 0 10px 10px;
		border-style: solid;
		border-color: transparent transparent #3e7086 transparent;
		background-image: none;
	}
	.ir_top_3column > li > a.ir_pickup_box > img{
		width: 100%;
		height: auto;
	}
	.ir_top_3column > li > a.ir_pickup_box > em > img{
		width: auto;
		max-width: 100%;
		/*height: auto;*/
	}
	.ir_top_3column > li > a > span.ir_pickup_box_image1,
	.ir_top_3column > li > a > span.ir_pickup_box_image2,
	.ir_top_3column > li > a > span.ir_pickup_box_image3{
		display: block;
		width: 100%;
		height: 148px;
		margin: 0 0 20px 0;
	}
	.ir_top_3column > li > a > span.ir_pickup_box_image1 img,
	.ir_top_3column > li > a > span.ir_pickup_box_image2 img,
	.ir_top_3column > li > a > span.ir_pickup_box_image3 img{
		display: none;
	}
	.ir_top_3column > li > a > span.ir_pickup_box_image1{
		background:url(../images/ir/sp_img_pickup_topmessage.jpg) no-repeat center center;
		background-size: auto 148px;
		
	}
	.ir_top_3column > li > a > span.ir_pickup_box_image2{
		background:url(../images/ir/sp_img_pickup_financial_highlight.jpg) no-repeat center center;
		background-size: 100% auto;
		
	}
	.ir_top_3column > li > a > span.ir_pickup_box_image3{
		background:url(../images/ir/sp_img_pickup_financial_quarter.jpg) no-repeat center center;
		background-size: 100% auto;
		
	}
	.ir_top_nav{
		margin-bottom: 24px;
	}
	.ir_top_nav > li{
		width: calc(33% - 6px);
	}
	.ir_top_nav > li:nth-child(2n) {
		margin: 0 6px 20px 6px;
	}
	.ir_top_nav > li:last-child {
		margin: 0 0 20px 6px;
	}
	.ir_nav_box li{
		margin: 0 0 8px 10px;
	}
	.ir_top_box_disclaimer {
		margin: 0 0 40px 0;
		padding: 13px 18px;
		border: solid 3px #c9c9c9;
	}
	.ir_top_box_disclaimer dt {
		width: 100%;
		height: 32px;
		position: relative;
		padding: 0 0 0 0;
		border-bottom: solid 1px #c9c9c9;
		text-align: left;
	}
	.ir_top_box_disclaimer dt img {
		position: relative;
		top:auto;
		left: auto;
		margin: 0;
	}
	.ir_top_box_disclaimer dd {
		font-size: 12px;
		padding: 12px 0 2px 0;
		border-left: none;
		line-height: 1.6em;
	}

	/*--  ir_topmessage
	---------------------------------------------------- */

	/*--  ir_financial
	---------------------------------------------------- */
	.financial_box {
		width: 100%;
		margin-bottom: 25px;
	}
	.financial_box_ttl {
		width: calc(100% - 12px);
		padding: 12px 0 12px 12px;
		border: solid 1px #d3d3d3;
		border-left: solid 3px #3e7085;
		font-size: 16px;
		font-weight: bold;
	}
	.highlight_table th, .highlight_table td {
		white-space: nowrap;
	}
	.financial_box_graf {
		height: 230px;
		/*background: #88A4AF;*/
		margin: 20px 20px 0px 20px;
	}
	.financial_box_chart_ttl {
		margin: 0 auto;
		max-width: none;
		width: calc(100% - 12px);
	}
	.highlight_table {
		font-size: 13px;
		table-layout: fixed;
	}
	.highlight_table .highlight_table_top_th {
		width: 80px;
	}
	.highlight_table .highlight_table_top_th:first-child {
		width: 190px;
	}
	.highlight_table td {
		padding: 16px 12px 16px 12px;
		vertical-align: middle;
	}
	.highlight_table .highlight_table_unit{
		text-align: right;
		vertical-align: middle;
	}
	.quarter_table_unit{
		font-size:11px;
	}
	.quarter_annotation {
		font-size: 14px;
	}
	
	/*--  library
	---------------------------------------------------- */
	.library_list_warp { margin: 12px 0 24px 0 !important; }
	.library_link {
		background: url(../images/icon/icon_link_arrow_5_7.png) no-repeat right 5px top 50%;
		padding: 0px 20px 0 0;
	}
	.library_link span {
		float: none;
		display: block;
		word-wrap: break-word;
	}
	.library_link .library_daily {
		margin: 0 16px 0 0;
		color: #000;
	}
	.library_link .library_ttl {
		width: auto;
		display: inline;
	}
	.library_link .library_pdf {
		display: inline-block;
		background: url(../images/icon/icon_pdf.png) no-repeat left 3px;
		width: 72px;
		color: #000;
		font-size: 14px;
		padding: 0px 0 0 14px;
		position:relative;
		right:auto;
		top:auto;
	}
	/*--  ir_stock
	---------------------------------------------------- */
	.stock_information_table .stock_td { padding: 15px; }
	#jqplot-distribution {
		border: solid 1px #d0d0d0;
		margin: 0 0 20px 0;
		height:78px;
		width:100%;
	}
	.pointLabel{
		font: 13px/100% "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif;
		font-weight:bold;
		color:#333333;
	}
	.pc_distribution_legend{
		display: none;
	}
	.sp_distribution_legend{
		display: block;
		margin: 0 auto;
		width: 282px;
		height: 32px;
	}
	.principal_shareholders_table {
		width: 100%;
		table-layout: fixed;
	}
	.principal_shareholders_table th.stock_th_ttl{
		width: 86px;
		white-space: normal;
	}
	.principal_shareholders_table th.stock_th_ttl:first-child{
		width: 195px;
	}
	.principal_shareholders_table th.stock_th_ttl:last-child{
		width: 185px;
	}
	.stock_th {
		white-space: normal;
	}
	.dividends_table .stock_th {
		white-space: nowrap;
	}
	.dividends_table {
		width: 100%;
		table-layout: fixed;
	}
	.dividends_table th.stock_th_ttl{
		width: 120px;
		white-space: normal;
	}
	.dividends_table th.stock_th_ttl:first-child{
		width: 120px;
	}
	.shareholder_memo_table tr {
		display: block;
	}
	.shareholder_memo_table th.stock_th {
		padding: 6px 12px;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		width: 100%;
		display: block;
		box-sizing: border-box;
	}
	.shareholder_memo_table th.stock_th br {
		display: none;
	}
	.shareholder_memo_table td.stock_td {
		line-height: 1.467;
		padding: 14px 12px 14px 12px;
		border: 0;
		width: 100%;
		display: block;
		box-sizing: border-box;
		font-size: 14px;
	}
	.shareholder_memo_table {
	    border-bottom: 1px solid #d3d5d8;
		margin-bottom: 24px !important;
	}
	.shareholder_memo_procedures{
		margin-bottom: 24px !important;
	}
	.shareholder_memo_about{
		margin-bottom: 24px !important;
	}
	/*--  ir_calendar
	---------------------------------------------------- */
	.ir_calendar_box tr {
		display: block;
	}
	.ir_calendar_box th {
		padding: 6px 12px;
		border-right: 0;
		border-bottom: 0;
		border-left: 0;
		width: 100%;
		display: block;
		box-sizing: border-box;
	}
	.ir_calendar_box td {
		line-height: 1.467;
		padding: 12px;
		border: 0;
		width: 100%;
		display: block;
		box-sizing: border-box;
	}
	.ir_calendar_box {
	    border-bottom: 1px solid #d3d5d8;
		margin-bottom: 24px !important;
	}
	.ir_calendar_box:last-child {
		margin-bottom: 32px !important;
	}

	/*--  ir_faq
	---------------------------------------------------- */
	.ir_faq_box_wrap {
		background: #f5f6f8;
		padding: 12px;
		margin-bottom: 24px;
	}
	.ir_faq_box {
		margin-bottom: 12px !important;
		padding: 24px 12px 1px 12px;
	}
	.ir_faq_box:last-child {
		margin-bottom: 0 !important;
	}
	
	/*--  ir_achievement
	---------------------------------------------------- */
	.achievement_anker_link {
		display: none;
	}
	.achievemen_table {
		display: block;
		width: 100%;
		margin-top: -8px;
	}
	.achievemen_table thead {
		display: none;
	}
	.achievemen_table tbody {
		display: block;
	}
	.achievemen_table tr {
		display: block;
		border-bottom: dotted 1px #d5d5d8;
		padding: 0 12px;
		margin-bottom: 12px;
	}
	.achievemen_table tr td {
		position: relative;
		display: block;
		border: none;
		padding: 4px 12px 4px 78px;
	}
	.achievemen_table tr td:nth-child(3) {
		padding-bottom: 12px;
	}
	.achievemen_table tr td::before {
		position: absolute;
		left: 0;
		display: inline-block;
		font-size: 14px;
		width: 72px;
	}
	

	.achievemen_table tr td:nth-child(1)::before {
		content: '\002022  施工場所';
	}
	.achievemen_table tr td:nth-child(2)::before {
		content: '\002022  工事件名';
	}
	.achievemen_table tr td:nth-child(3)::before {
		content: '\002022  竣工年';
	}
	.achievemen_table tr td.none_achievement {
		padding: 8px 12px 24px 12px;
	}
	.achievement_link a {
		margin-top: 12px;
	}
	.achievemen_table tr td.none_achievement {
		padding: 4px 12px 16px;
	}
	.achievemen_table tr td.none_achievement::before {
		content: none;
	}
	.achievement_anker_link_sp {
		display: block;
	}
	.achievement_anker_link_sp select {
		padding: 4px 0 8px 11px;
		line-height: 1;
		vertical-align: top;
	}
}
_:-ms-lang(x), .achievement_anker_link_sp select {
  padding: 9px 0 7px 11px; /* IE10以上 */
}

@media screen and (max-width: 639px) {
	
	/*--  ir_top
	---------------------------------------------------- */
	.ir_top_3column.ir_top_nav > li{
		font-size: 0;
		position: relative;
		float: left;
		overflow: hidden;
		width: 100%;
		margin: 0 0 24px 0;
	}
	.ir_top_nav > li .ir_top_nav_title.ir_nav_btm_a{
		margin: 0 0 24px 0;
	}
	.ir_nav_box {
		width:  100%;
		height: auto;
		padding: 0 0 0 0;
		border: none;
		border-top: none;
	}
	.ir_nav_box li {
		background: url(../images/icon/icon_arrow_glay_8_3.png) no-repeat 12px 50%;
		padding: 15px 0 13px 25px;
		margin: 0 0 0 0;
		line-height: 1.4em;
		font-size: 16px;
		border-bottom: solid 1px #c9c9c9;
	}
	.ir_nav_box li br{
		display: none;
	}
	.ir_top_box_disclaimer dd br{
		display: none;
	}
	/*--  ir_stock
	---------------------------------------------------- */
	.stock_information_table .stock_th {
		width: 130px;
	}

}
@media screen and (max-width: 539px) {
	
	/*--  ir_top
	---------------------------------------------------- */
	.ir_top_3column > li {
		font-size: 0;
		position: relative;
		float: left;
		overflow: hidden;
		width: 100%;
		margin: 0 0 20px 0;
	}
	.ir_top_3column > li:first-child {
		margin: 0 0 24px 0;
	}
	.ir_top_3column > li:nth-child(2n) {
		margin: 0 0 24px 0;
	}
}
@media screen and (max-width: 360px) {
	/*--  ir_top
	---------------------------------------------------- */
	.ir_sp_hide_span {
		display: none;
	}
	
}
@media screen and (max-width: 320px) {
	/*--  ir_top
	---------------------------------------------------- */

	
}
