@charset "utf-8";

@media only screen and (min-width: 800px), print {
/* header
=========================================*/
#globalHeader {
	margin-bottom: 0;
	background-color: #007a48;
}
#globalHeader .enSite {
    margin: 10px auto 0;
    text-align: right;
    padding: 0px 0 0;
    display: flex;
    color: #007a48;
}

#globalHeader .enSite a {
	color: #fff;
	padding: 0px 10px;
}

#head #headerNavi #globalNavi > .list a {
	color: #ffffff;
}
#head #headerNavi #globalNavi > .list + .list.contactLink {
	margin: 0;
	padding: 0;
}

#headerNavi #headerSearch form{
	background: #007a48;
}
#headerNavi #headerSearch .site-search .button {
	background: #007a48 url(/common/img/header_ic01.png) no-repeat 100% 50%;
}
h1.outline {
	display: none;
}
#contents > .contentsWrap,
#contents.noSide .contentsWrap > #main {
	width: 100%;
	margin: 0;
}
#contents.noSide > .contentsWrap {
	width: auto !important;
}
.noSide .contentsWrap > #main > * {
	width: 1210px;
	margin-left: auto;
	margin-right: auto;
}
a:hover {
	opacity: 1;
}
.section01 {
	margin-top: 40px !important;
}
.section01.typeNews {
	margin-top: 50px !important;
}
.section01.typeNews + .section01 {
	margin-top: 50px !important;
}
/*topPageMain*/
#topPageMain a:hover {
	opacity: 0.7;
}
#topPageMain{
	max-width: 100%;
	height: 380px;
	margin-left: auto;
	margin-right: auto;
}
#topPageMain .bx-viewport {
	overflow: visible !important;
}
#topPageMain ul{
	margin-top:0px;
}
#topPageMain li {
	position: relative;
	overflow: hidden;
	width: 1200px !important;
	height: 380px;
}
#topPageMain li a {
	position: relative;
	display: block;
	height: 380px;
}
#topPageMain li a > span.bgArea {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #ffffff !important;
	-webkit-background-size: cover !important;
					background-size: cover !important;
	-webkit-transition: all 0.4s ease-out 0s;
					transition: all 0.4s ease-out 0s;
	-webkit-backface-visibility: hidden;
					backface-visibility: hidden;
	-webkit-transform: translatez(0);
					transform: translatez(0);
	overflow: hidden;
}
#topPageMain li a:hover {
	opacity: 1;
}
#topPageMain li a:hover span.bgArea {
	opacity: 1;
	-webkit-transform: scale(1.03);
					transform: scale(1.03);
}
#topPageMain li a:hover .title {
	opacity: 1;
	-webkit-transform: scale(1);
					transform: scale(1);
}
#topPageMain li .title {
	position: absolute;
	top: 250px;
	height: 80px;
	margin-top: 0;
	padding: 8px 10px;
	color: #ffffff;
	font-size: 2.6rem;
	line-height: 1.4;
	background: linear-gradient(left, #017a48 0%, #2e9547 100%);
  background: linear-gradient(to right, #017a48 0%,#2e9547 100%);
	z-index: 1;
}
#topPageMain li .title.textW02 {
	padding-top: 20px;
}

#topPageMain li .title .subTxt {
	display: block;
	font-size: 12px;
}
#topPageMain li .title.left .subTxt {
	text-align: right;
}
#topPageMain li .title.right .subTxt {
	text-align: left;
}
#topPageMain li .title .subTxt > span {
	position: relative;
	padding-right: 20px;
}

#topPageMain li .title .subTxt > span:after {
	content: "";
	position: absolute;
	top: 50% !important;
	right: 0;
	height: 0;
	width: 0;
	margin-top: -7px;
	border-top: solid 6px transparent;
	border-right: solid 6px transparent;
	border-bottom: solid 6px #ffffff;
	border-left: solid 6px transparent;
	-webkit-transform: rotate(90deg);
					transform: rotate(90deg);
}
#topPageMain li .title .ruby {
	position: relative;
	display: inline-block;
	padding-top: 16px;
	line-height: 1;
}
#topPageMain li .title .ruby > span {
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -1.5em;
	font-size: 12px;
}
#topPageMain li .title:after {
	content: "";
	position: absolute;
	top: -80px;
	height: 0;
	width: 0;
}
#topPageMain li .title.left {
	left: 0;
	padding-right: 20px;
	padding-left: 100px;
}

#topPageMain li .title.left.noruby {
	padding-top: 20px;
}

#topPageMain li .title.left:after {
	border-top: solid 80px transparent;
	border-right: solid 44px transparent;
	border-bottom: solid 80px #2e9547;
	border-left: solid 0 transparent;
}
#topPageMain li .title.right {
	right: 0;
	padding-left: 20px;
	padding-right: 100px;
	text-align: right;
}
#topPageMain li .title.right:after {
	border-top: solid 80px transparent;
	border-right: solid 0 transparent;
	border-bottom: solid 80px #017a48;
	border-left: solid 44px transparent;
}

#topPageMain li .title.left:after {
	right: -44px;
}
#topPageMain li .title.right:after {
	left: -44px;
}
#topPageMain li .txtArea {
	position: absolute;
	top: 137px;
	width: 550px;
	padding: 25px 20px 20px;
	color: #070707;
	font-size: 1.4rem;
	background: rgba(255,255,255,0.8);
}
#topPageMain li .title.left + .txtArea {
	right: calc(50% - 15px);
}
#topPageMain li .title.right + .txtArea {
	left: calc(50% - 15px);
}
#topPageMain li .txtArea > *:first-child {
	margin-top: 0 !important;
}
#topPageMain .bx-wrapper .bx-pager.bx-default-pager a{
	width: 8px;
	height: 8px;
	margin: 0 8px;
	background: #ffffff;
	border-radius: 50%;
	overflow: hidden;
}
#topPageMain .bx-wrapper .bx-pager.bx-default-pager a.active{
	background: #8dc63f;
	opacity: 1 !important;
}
#topPageMain .bx-pager{
	bottom: 10px;
}

#topPageMain li .title.textW03 {
	padding-top: 9px;
	text-align: left;
	padding-right: 50px;
}

.br_pc {

	display: none;
}

/* topLinkBox */
.topLinkBox {
	display: -webkit-flex;
  display: flex;
	margin-top: 10px;
}
.topLinkBox > .box {
	display: block;
	position: relative;
	height: 205px;
	width: calc((100% - 20px) / 3);
	margin-right: 10px;
	overflow: hidden;
}
.topLinkBox > .box.size5per { width: calc((100% - 20px) / 20); }
.topLinkBox > .box.size10per { width: calc((100% - 20px) / 10); }
.topLinkBox > .box.size20per { width: calc((100% - 20px) / 5); }
.topLinkBox > .box.size25per { width: calc((100% - 20px) / 4); }
.topLinkBox > .box.size30per { width: calc((100% - 20px) / 3.3); }
.topLinkBox > .box.size40per { width: calc((100% - 20px) / 2.5); }
.topLinkBox > .box.size50per { width: calc((100% - 20px) / 2); }
.topLinkBox > .box > .bgArea {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	-webkit-background-size: cover !important;
					background-size: cover !important;
	-webkit-transition: all 0.4s ease-out 0s;
					transition: all 0.4s ease-out 0s;
	-webkit-backface-visibility: hidden;
					backface-visibility: hidden;
	-webkit-transform: translatez(0);
					transform: translatez(0);
	overflow: hidden;
}
.topLinkBox > .box:hover > .bgArea {
	-webkit-transform: scale(1.03);
					transform: scale(1.03);
}
/* .topLinkBox > .box:nth-child(3n) {
	margin-right: 0;
} */
/* .topLinkBox > .box:nth-child(n+4) {
	margin-top: 15px;
} */
.topLinkBox > .box > .txt {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 7px 0;
	color: #ffffff;
	font-size: 17px;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.08em;
	background: linear-gradient(left, #007a47 0%, #2b9447 100%);
  background: linear-gradient(to right, #007a47 0%,#2b9447 100%);
}

/* fixNavi */
.js-fixNavi {
	position: relative;
}
.js-fixNavi.fixed,
.js-fixNavi.absolute {
	padding-top: 58px;
}
.js-fixNavi.fixed > .heading,
.js-fixNavi.absolute > .heading {
	width: 1200px;
	z-index: 2;
}
.js-fixNavi.fixed > .heading {
	position: fixed;
	top: 0;
	left: 0;
}
.js-fixNavi.absolute > .heading {
	position: absolute;
	bottom: 0;
	left: 0;
}

/* masonryWrap */
.masonryWrap {
	width: 100%;
	overflow: hidden;
}
.masonryWrap > .box {
	display: block;
	width: 232px;
	height: 240px;
	margin-bottom: 10px;
	overflow: hidden;
}
.heading > a {
	margin-bottom: 10px;
}
.heading > a > .bgArea,
.masonryWrap > .box > .bgArea {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	-webkit-background-size: cover !important;
					background-size: cover !important;
	-webkit-transition: all 0.4s ease-out 0s;
					transition: all 0.4s ease-out 0s;
	-webkit-backface-visibility: hidden;
					backface-visibility: hidden;
	-webkit-transform: translatez(0);
					transform: translatez(0);
	overflow: hidden;
}
.heading:hover > a > .bgArea,
.masonryWrap > .box:hover > .bgArea {
	-webkit-transform: scale(1.03);
					transform: scale(1.03);
}
.masonryWrap > .box.x2 {
	width: 474px;
}
.masonryWrap > .box.x3 {
	width: 716px;
}
.masonryWrap > .box.x4 {
	width: 958px;
}
.masonryWrap > .box.x5 {
	width: 1200px;
}
.masonryWrap > .box.y2 {
	height: 490px;
}
.masonryWrap > .box.y3 {
	height: 740px;
}
.masonryWrap > .box.y2-3 {
	height: 160px;
}
.masonryWrap > .box.y4-3 {
	height: 330px;
}
.masonryWrap > .box.y6-3 {
	height: 500px;
}
.masonryWrap > .box.y4-5 {
	height: 190px;
}
.masonryWrap > .box.y6-5 {
	height: 285px;
}

.masonryWrap > .box .stockArea .chart {
	display: table;
	width: 100%;
}
.masonryWrap > .box .stockArea .chart > * {
	display: table-cell;
	width: 50%;
	text-align: center;
	vertical-align: middle;
}
.masonryWrap > .box[class*="icon"]:before {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	right: 0;
	width: 120px;
	height: 32px;
	z-index: 1;
}
.masonryWrap > .box.icon01:before {
	background: url(/img/index_ic04.png) no-repeat 50% 50%;
}
.masonryWrap > .box.icon02:before {
	background: url(/img/index_ic02.png) no-repeat 50% 50%;
}
.masonryWrap > .box.icon03:before {
	background: url(/img/index_ic03.png) no-repeat 50% 50%;
}
.masonryWrap > .box.icon04:before {
	background: url(/img/index_ic05.png) no-repeat 50% 50%;
}
.masonryWrap > .box.icon05:before {
	background: url(/img/index_ic01.png) no-repeat 50% 50%;
}
.masonryWrap > .box > .txt {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 7px 0;
	color: #ffffff;
	font-size: 1.7rem;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.03em;
	background-color: #0c8147;
}
/*20170620追記、ボックス内上部テキストボックス*/
.masonryWrap > .box > .toptxt {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 7px 0;
	color: #ffffff;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1.2;
	letter-spacing: 0.03em;
	background-color: #0c8147;
}
.section01.type01 .masonryWrap > .box > .txt {
	background: linear-gradient(left, #007a48 0%, #2b9447 100%);
  background: linear-gradient(to right, #007a48 0%,#2b9447 100%);
}
.section01.type02 .masonryWrap > .box > .txt {
	background: linear-gradient(left, #5eae47 0%, #8dc63f 100%);
  background: linear-gradient(to right, #5eae47 0%,#8dc63f 100%);
}
.section01.type03 .masonryWrap > .box > .txt {
	background: linear-gradient(left, #8dc73f 0%, #a6e354 100%);
  background: linear-gradient(to right, #8dc73f 0%,#a6e354 100%);
}

/* banner visual */
.topLinkBox > .box > .bgArea.type-company {
	background-position: 50% 70%;
	background-size: 125% auto !important;
}
.topLinkBox > .box > .bgArea.type-ir {
	background-position: 75% 45%;
	background-size: 125% auto !important;
}
.topLinkBox > .box > .bgArea.type-stock {
	background-position: 50% 100%;
	background-size: 120% auto !important;
}

.topLinkBox > .box > .bgArea.type-csr {
	background-position: 50% 100%;
	background-size: 100% auto !important;
}

.masonryWrap > .box > .bgArea.type-ir01 {
	background-position: 70% 90%;
	background-size: 120% auto !important;
}
.masonryWrap > .box > .bgArea.type-ir02 {
	background-position: 10% 80%;
	background-size: 150% auto !important;
}
.masonryWrap > .box > .bgArea.type-ir03 {
	background-position: 58% 62%;
	background-size: 350% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative01 {
	background-position: 100% 50%;
	background-size: 107% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative02 {
	background-position: 50% 100%;
	background-size: auto 105% !important;
}
.masonryWrap > .box > .bgArea.type-initiative03 {
	background-position: 50% 90%;
	background-size: auto 110% !important;
}
.masonryWrap > .box > .bgArea.type-initiative04 {
	background-position: 20% 50%;
	background-size: 130% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative05 {
	background-position: 35% 100%;
	background-size: auto 110% !important;
}
.masonryWrap > .box > .bgArea.type-initiative06 {
	background-position: 50% 65%;
	background-size: 110% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative07 {
	background-position: 50% 55%;
	background-size: 100% auto !important;
}
.masonryWrap > .box > .bgArea.type-group01 {
	background-position: 20% 50%;
	background-size: 110% auto !important;
}
.masonryWrap > .box > .bgArea.type-group02 {
	background-position: 50% 70%;
	background-size: 120% auto !important;
}
.masonryWrap > .box > .bgArea.type-group03 {
	background-position: 45% 80%;
	background-size: auto 110% !important;
}
.masonryWrap > .box > .bgArea.type-group04 {
	background-position: 50% 50%;
	background-size: auto 120% !important;
}
.masonryWrap > .box > .bgArea.type-group05 {
	background-position: 50% 67%;
	background-size: 150% auto !important;
}
.masonryWrap > .box > .bgArea.type-group06 {
	background-position: 50% 50%;
	background-size: 100% auto !important;
}


}
@media only screen and (min-width: 1200px), print {
	.js-fixNavi.fixed > .heading {
		left: 50%;
		margin-left: -605px;
	}
}
