@charset "utf-8";

@media only screen and (max-width: 799px) {

#spGnavBlock .headBlock{
	background-color: #007a48;
	border-bottom: none;
}
#sitemenu a span {
	background-color: #ffffff;
}
#spMenu .linkList{
	border-top: none;
}
#spMenu .linkList .langChoice {
	padding: 15px 0;
	border-bottom: 1px solid #e1e1e1;
}
#spMenu .linkList .langChoice a {
    display: inline;
    border: none;
}


h1.outline {
	display: none;
}
#contents > .contentsWrap {
	padding: 0;
}

/*topPageMain*/
#topPageMain{
	width:100% !important;
	max-width: 100%;
	height: 150px;
}
#topPageMain ul{
	margin-top:0px;
}
#topPageMain li {
	position: relative;
	height: 150px;
}
#topPageMain li a {
	position: relative;
	display: block;
	height: 150px;
}
#topPageMain li a > span.bgArea {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: #ffffff !important;
	-webkit-background-size: cover !important;
					background-size: cover !important;
}
#topPageMain li a > span.bgArea.bg-type01 {
	background-size: 150% auto !important;
	background-position: 0 50% !important;
}

#topPageMain li a > span.bgArea.bg-type04 {
	background-size: 126% auto !important;
	background-position: 0 50% !important;
}

#topPageMain li a > span.bgArea.bg-type04.gene {
	background-position: 89% 65% !important;
}

#topPageMain li a > span.bgArea.bg-type01.company {
	background-position: 24% 50% !important;
}

#topPageMain li a > span.bgArea.bg-type01.strength {
	background-position: 40% 50% !important;
}

#topPageMain li a > span.bgArea.bg-type06 {
	background-position: 0% 33% !important;
    background-size: 125% auto !important;
}
#topPageMain .bg-type07-box{
	padding-top: 1.6vh;
	background-color: #d6d6d6;
}
#topPageMain li a > span.bgArea.bg-type07 {
	background-position: 45% 0 !important;
    background-size: 113% auto !important;
}

#topPageMain li .title {
	position: absolute;
	height: 45px;
	bottom: 20px;
	margin-top: 0;
	padding: 0 10px;
	color: #ffffff;
	font-size: 1.2rem;
	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: 10px;
}

#topPageMain li .title.textW03 {
	padding-top: 5px;
}
#topPageMain li .title .subTxt {
	display: block;
	font-size: 8px;
}
#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: 12px;
}

#topPageMain li .title .subTxt > span:after {
	content: "";
	position: absolute;
	top: 50% !important;
	right: 0;
	height: 0;
	width: 0;
	margin-top: -4px;
	border-top: solid 4px transparent;
	border-right: solid 4px transparent;
	border-bottom: solid 4px #ffffff;
	border-left: solid 4px transparent;
	-webkit-transform: rotate(90deg);
					transform: rotate(90deg);
}
#topPageMain li .title .ruby {
	position: relative;
	display: inline-block;
	letter-spacing: normal;
	padding-top: 10px;
}
#topPageMain li .title .ruby span {
	position: absolute;
	display: inline-block;
	width: 3em;
	top: 4px;
	left: 50%;
	margin-left: -0.9em;
	font-size: 10px !important;
	-moz-transform: scale(0.6);
	-webkit-transform: scale(0.6);
	-o-transform: scale(0.6);
	-ms-transform: scale(0.6);
	transform: scale(0.6);
	-moz-transform-origin: 0px 0px;
	-webkit-transform-origin: 0px 0px;
	-o-transform-origin: 0px 0px;
	-ms-transform-origin: 0px 0px;
	transform-origin: 0px 0px;;
}
#topPageMain li .title:after {
	content: "";
	position: absolute;
	top: -45px;
	height: 0;
	width: 0;
}
#topPageMain li .title.left {
	left: 0;
	padding-right: 10px;
	padding-left: 10px;
}
#topPageMain li .title.left.noruby {
	padding-top: 9px;
}
#topPageMain li .title.left:after {
	border-top: solid 45px transparent;
	border-right: solid 25px transparent;
	border-bottom: solid 45px #2e9547;
	border-left: solid 0 transparent;
}
#topPageMain li .title.right {
	right: 0;
	padding-left: 10px;
	padding-right: 10px;
	text-align: right;
}
#topPageMain li .title.right:after {
	border-top: solid 45px transparent;
	border-right: solid 0 transparent;
	border-bottom: solid 45px #017a48;
	border-left: solid 25px transparent;
}

#topPageMain li .title.right.textW03 {

	text-align: left;
}

#topPageMain li .title.left:after {
	right: -25px;
}
#topPageMain li .title.right:after {
	left: -25px;
}


#topPageMain li .txtArea {
	display: none;
}
#topPageMain .bx-wrapper .bx-pager.bx-default-pager a{
	width: 5px;
	height: 5px;
	margin: 0 5px;
	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: 5px;
}

/* topLinkBox */
.topLinkBox {
	margin: 7px 0 -7px;
	overflow: hidden;
}
.topLinkBox > .box {
	display: block;
	position: relative;
	float: left;
	height: 90px;
	width: calc((100% - 7px) / 2);
	margin-top: 7px;
}
.topLinkBox > .box:nth-child(2) {
	float:right;
}
.topLinkBox > .box:nth-child(4) {
	float:right;
}




.topLinkBox > .box > .bgArea {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	-webkit-background-size: cover !important;
					background-size: cover !important;
}
.topLinkBox > .box > .txt {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 3px 10px;
	color: #ffffff;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.3;
	background: linear-gradient(left, #007a48 0%, #2b9347 100%);
  background: linear-gradient(to right, #007a48 0%,#2b9347 100%);
}

/* section */
.section01 {
	margin-top: 25px !important;
}
.section01.typeNews {
	margin-top: 33px !important;
	padding: 0 15px;
}
.section01.type02,
.section01.type03 {
	margin-top: 20px !important;
}

/* masonryWrap */
.masonryWrap {
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
					justify-content: space-between;
	-webkit-flex-wrap: wrap;
					flex-wrap: wrap;
	margin-bottom: -7px;
	height: auto !important;
	overflow: hidden;
}
.masonryWrap > .box {
	overflow: hidden;
	display: block;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	height: 100px;
	margin-bottom: 7px;
}
.heading > a > .bgArea,
.masonryWrap > .box > .bgArea {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: 100% auto !important;
}

.masonryWrap > .box.sp-x100 {
	width: 100% !important;
}
.masonryWrap > .box.sp-x50 {
	width: calc((100% - 7px) / 2) !important;
}
.masonryWrap > .box[class*="icon"]:before {
	position: absolute;
	content: "";
	display: block;
	top: 0;
	right: 0;
	width: 80px;
	height: 21px;
	z-index: 1;
}
.masonryWrap > .box.icon01:before {
	background: url(/img/index_ic04.png) no-repeat 50% 50%;
	background-size: 100% auto;
}
.masonryWrap > .box.icon02:before {
	background: url(/img/index_ic02.png) no-repeat 50% 50%;
	background-size: 100% auto;
}
.masonryWrap > .box.icon03:before {
	background: url(/img/index_ic03.png) no-repeat 50% 50%;
	background-size: 100% auto;
}
.masonryWrap > .box.icon04:before {
	background: url(/img/index_ic05.png) no-repeat 50% 50%;
	background-size: 100% auto;
}
.masonryWrap > .box.icon05:before {
	background: url(/img/index_ic01.png) no-repeat 50% 50%;
	background-size: 100% auto;
}
.masonryWrap > .box > .txt {
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 3px 10px;
	color: #ffffff;
	font-size: 1.4rem;
	text-align: center;
	line-height: 1.2;
	background-color: #007a48;
}
.masonryWrap > .box > .toptxt {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	margin: 0;
	padding: 3px 10px;
	color: #ffffff;
	font-size: 1.2rem;
	text-align: center;
	line-height: 1.2;
	background-color: #007a48;
}
.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%);
}
.masonryWrap > .box .stockArea {
	width: 100%;
	height: 100px;
	display: table;
}
.masonryWrap > .box .stockArea .graphImg {
	display: none;
}
.masonryWrap > .box .stockArea .chart {
	display: table-cell;
	width: 100%;
	text-align: center;
	vertical-align: middle;
	padding: 0 0 1em;
}
.masonryWrap > .box .stockArea .chart > * {
	display: inline-block;
	width: 48%;
}
.masonryWrap > .box .stockArea .chart > * img {
	max-height: 100%;
}
.masonryWrap > .box .stockArea .chart > .logoImg {
	padding: 0 5px 10px;
	height: 64px;
}
.masonryWrap > .box .stockArea .chart > .chartImg {
	padding: 0 5px 10px;
	height: 64px;
}
.masonryWrap > .box .stockArea .chart > .chartImg img {
	padding-top: 10%;
}
/* banner visual */
.topLinkBox > .box > .bgArea.type-company {
	background-position: 50% 50%;
}
.topLinkBox > .box > .bgArea.type-ir {
	background-position: 50% 55%;
}
.topLinkBox > .box > .bgArea.type-stock {
	background-position: 50% 100%;
}
.topLinkBox > .box > .bgArea.type-csr {
	background-position: 50% 28%;
	background-size: 100% auto !important;
}
.masonryWrap > .box > .bgArea.type-ir01 {
	background-position: 50% 55%;
}
.masonryWrap > .box > .bgArea.type-ir02 {
	background-position: 0 -90%;
	background-size: 100% auto !important;
}
.masonryWrap > .box > .bgArea.type-ir03 {
	background-position: 60% 55%;
	background-size: 180% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative01 {
	background-position: 50% 50%;
}
.masonryWrap > .box > .bgArea.type-initiative02 {
	background-position: 50% 50%;
}
.masonryWrap > .box > .bgArea.type-initiative03 {
	background-position: 50% 50%;
}
.masonryWrap > .box > .bgArea.type-initiative04 {
	background-position: 30% 50%;
	background-size: 160% auto !important;
}
.masonryWrap > .box > .bgArea.type-initiative05 {
	background-position: 50% 45%;
}
.masonryWrap > .box > .bgArea.type-initiative06 {
	background-position: 50% 50%;
}
.masonryWrap > .box > .bgArea.type-initiative07 {
	background-position: 50% 40%;
}
.masonryWrap > .box > .bgArea.type-group01 {
	background-position: 50% 50%;
}
.masonryWrap > .box > .bgArea.type-group02 {
	background-position: 25% 95%;
	background-size: 130% auto !important;
}
.masonryWrap > .box > .bgArea.type-group03 {
	background-position: 50% 20%;
}
.masonryWrap > .box > .bgArea.type-group04 {
	background-position: 50% 28%;
}
.masonryWrap > .box > .bgArea.type-group05 {
	background-position: 40% 80%;
	background-size: 150% auto !important;
}
.masonryWrap > .box > .bgArea.type-group06 {
	background-position: 50% 50%;
}
.br_sp {

	display: none;
}

/*=================================

	clearfix

=================================*/
.topLinkBox:after {
	content: "";
	display: block;
	clear: both;
}
}

@media only screen and (max-width: 300px) {
	.masonryWrap > .box > .bgArea.type-group06 {
    background-position: 100% 0;
    background-size: 120% auto !important;
	}
}