@charset "utf-8";
/*------------------------------------------------------------
	トープページ
------------------------------------------------------------*/
.mainVisual .slideUl li {
	padding-top: 241px;
	min-height: 750px;
	background: url(../image/index/main_visual_bg01.jpg) no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
}

.mainVisual .slideUl .bg01 {
	background: url(../image/index/main_visual_bg02.jpg) no-repeat center bottom;
	background-size: cover;
}

.mainVisual .inner {
	margin: 0 auto;
	width: 1200px;
}

.mainVisual .keyBox {
	padding: 36px 30px 30px 45px;
	width: 390px;
	min-height: 394px;
	background-color: rgba(11,161,0,.8);
	box-sizing: border-box;
}

.mainVisual .keyBox p {
	margin: 10px 0 0 -2px;
	color: #FFF;
	font-size: 14px;
	font-weight: bold;
	line-height: 2;
	text-align: justify;
	font-family: "游ゴシック","Yu Gothic","游ゴシック体","YuGothic","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

.mainVisual .keyBox p sup {
	font-size: 7px;
}

.mainVisual .arrowList li {
	margin-top: -21px;
	position: absolute;
	top: 50%;
	cursor: pointer;
}

.mainVisual .arrowList .prev {
	left: 23px;
}

.mainVisual .arrowList .next {
	right: 23px;
}

.mainVisual .arrowList li:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

.mainVisual .slick-dots {
	margin-left: -108px;
	height: 2px;
	position: absolute;
	left: 50%;
	bottom: 33px;
	text-align: center;
}

.mainVisual .slick-dots li {
	margin: 0 5px;
	padding: 0;
	width: 61px;
	height: 2px;
	min-height: inherit;
	display: inline-block;
	background: url(../image/common/slide_line01.png) no-repeat center center;
	background-size: 61px 2px;
}

.mainVisual .slick-dots li.slick-active {
	background-image: url(../image/common/slide_line02.png);
}

.mainVisual .slick-dots li button {
	display: none !important;
}

#main {
	margin-top: -1px;
	position: relative;
	z-index: 1;
}

#main .news {
	padding: 18px 0 15px;
	background-color: #363636;
}

#main .news .content {
	width: 1150px;
}

#main .news .subBox {
	width: 265px;
	float: left;
}

#main .news .subBox .link {
	width: 138px;
	float: left;
}

#main .news .subBox .link a {
	padding-right: 22px;
	display: inline-block;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	background: url(../image/common/icon02.png) no-repeat right center;
	background-size: 7px auto;
}

#main .news .subBox .link a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#main .news .subBox .controller {
	margin-top: 5px;
}

#main .news .subBox .controller li {
	display: inline-block;
	vertical-align: top;
}

#main .news .subBox .controller button {
	-webkit-appearance: none;
	cursor: pointer;
	display: block;
	position: relative;
	border: 0;
	font-size: 0;
	line-height: 0;
}

#main .news .subBox .controller button:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#main .news .subBox .controller .play {
	margin: 2px 11px 0 0;
	display: none;
}

#main .news .subBox .controller .pause {
	margin: 2px 11px 0 0;
	display: none;
}

#main .news .subBox .controller .play.show,
#main .news .subBox .controller .pause.show {
	display: inline-block;
}

#main .news .subBox .controller .prev {
	margin-right: 14px;
}

#main .news .subBox .controller .play button,
#main .news .subBox .controller .pause button {
	width: 8px;
	height: 11px;
	background: url(../image/common/play_img.png) no-repeat center center;
	background-size: 8px 11px;
}

#main .news .subBox .controller .pause button {
	background-image: url(../image/common/pause_img.png);
}

#main .news .subBox .controller .prev button,
#main .news .subBox .controller .next button {
	width: 9px;
	height: 15px;
	background: url(../image/common/icon01.png) no-repeat center center;
	background-size: 9px auto;
}

#main .news .subBox .controller .next button {
	background-image: url(../image/common/icon02.png);
}

#main .news .newsSlide {
	margin-top: 3px;
	width: 875px;
	float: right;
	color: #FFF;
	font-size: 14px;
	letter-spacing: 1px;
}

#main .news .newsDl dt {
	width: 200px;
	float: left;
	clear: left;
}

#main .news .newsDl dt .ttl {
	margin-left: 5px;
	padding: 2px 8px;
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0;
	line-height: 1.3;
	vertical-align: top;
	background-color: #3F941F;
}

#main .news .newsDl dd {
	padding-left: 203px;
}

#main .news .newsDl dd a {
	color: #FFF;
}

#main .about {
	padding: 120px 0 193px;
	background: url(../image/index/about_bg01.png) no-repeat left top, url(../image/index/about_bg02.png) no-repeat right bottom;
}

#main .about p {
	margin-bottom: 51px;
	font-size: 15px;
	font-weight: bold;
	line-height: 2.65;
	text-align: center;
}

#main .about .textImg {
	text-align: center;
}

#main .about .textImg img {
	width: 326px;
}

#main .product {
	margin: -135px 0 126px;
}

#main .product .headLine01:before {
	bottom: -16px;
}

#main .product .linkList {
	margin: -25px 0 51px;
}

#main .product .linkList li {
	width: 550px;
	float: left;
}

#main .product .linkList li:nth-child(2n) {
	float: right;
}

#main .product .linkList li a {
	padding: 23px 5px 20px;
	display: block;
	position: relative;
	color: #FFF;
	font-size: 18px;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	background-color: #BCBCBC;
}

#main .product .linkList li a:before {
	display: none;
	margin-left: -14px;
	width: 28px;
	height: 16px;
	position: absolute;
	left: 50%;
	bottom: -16px;
	background: url(../image/common/icon03.png) no-repeat;
	background-size: 28px auto;
	
	content: "";
}

#main .product .linkList li.on a,
#main .product .linkList li a:hover {
	background-color: #409520;
}

#main .product .linkList li.on a:before,
#main .product .linkList li a:hover:before {
	display: block;
}

#main .product .linkUl {
	display: flex;
	-webkit-display: flex;
	justify-content: space-between;
	-webkit-justify-content: space-between;
}

#main .product .linkUl li {
	flex: auto;
	-webkit-flex: auto;
}

#main .product .linkUl li img {
	width: 100%;
}

#main .product .linkUl li a {
	display: block;
	position: relative;
	color: #FFF;
}

#main .product .linkUl li a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

#main .product .linkUl li .ttl {
	display: block;
	background: url(../image/index/product_bg01.png) repeat-x left bottom;
	background-size: auto 100%;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}

#main .product .linkUl li .inn {
	width: 100%;
	height: 80px;
	display: table;
	table-layout: fixed;
	font-size: 16px;
	font-weight: bold;
	box-sizing: border-box;
}

#main .product .linkUl li .tx {
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

#main .product .linkUl li sup {
	font-size: 10px;
}

#main .news01 {
	margin-bottom: 117px;
}

#main .news01 .linkList {
	margin-top: -32px;
}

#main .news01 .linkList li {
	margin-top: 30px;
	width: 348px;
	float: left;
	border: 1px solid #D5D5D5;
}

#main .news01 .linkList li:nth-child(3n-1) {
	margin: 30px 30px 0;
}

#main .news01 .linkList li a {
	padding: 28px 25px 22px;
	display: block;
	font-size: 14px;
	text-decoration: none;
}

#main .news01 .linkList li a .ttl {
	margin-bottom: 5px;
	display: block;
}

#main .news01 .linkList li a .txt {
	margin-left: 5px;
	display: block;
	font-weight: bold;
	line-height: 1.85;
}

#main .news01 .linkList li a:hover {
	background-color: #EFEFEF;
}

#main .linkBox {
	margin-bottom: 72px;
}

#main .linkBox li {
	position: relative;
/*
	width: 50%;
	float: left;
	
*/
}

#main .linkBox li img {
	width: 100%;
}

#main .linkBox li .txtBox {
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}

#main .linkBox li .subBox {
	width: 100%;
	height: 100%;
	display: table;
	table-layout: fixed;
}

#main .linkBox li .inn {
	padding: 10px 10px 0;
	display: table-cell;
	text-align: center;
	vertical-align: middle;
}

#main .linkBox li h4 {
	margin-bottom: 7px;
	color: #FFF;
	font-size: 24px;
}

#main .linkBox li p {
	margin-bottom: 27px;
	color: #FFF;
	font-size: 14px;
}

#main .linkBox li .btn a {
	padding: 13px 5px 12px;
	width: 184px;
	display: inline-block;
	color: #FFF;
	font-size: 14px;
	text-decoration: none;
	border: 2px solid #FFF;
	box-sizing: border-box;
}

#main .linkBox li .btn a:hover {
	filter: alpha(opacity=70);
	opacity: 0.7;
}

@media screen and (max-width: 767px) {
	.mainVisual .slideUl li {
		padding-top: 0;
		min-height: 435px;
		background-image: url(../image/index/sp_main_visual_bg01.jpg);
		background-position: center top;
	}
	
	.mainVisual .slideUl .bg01 {
		background-image: url(../image/index/sp_main_visual_bg02.jpg);
		background-position: center center;
	}
	
	.mainVisual .inner {
		margin: 208px 20px 0;
		width: auto;
	}
	
	.mainVisual .keyBox {
		padding: 24px 0;
		width: auto;
		min-height: inherit;
	}
	
	.mainVisual .keyBox h2 img {
		width: 304px;
	}
	
	.mainVisual .slideUl .bg01 .inner {
		margin: 208px 20px 0;
	}
	
	.mainVisual .slideUl .bg01 .keyBox {
		padding: 17px 0;
	}
	
	.mainVisual .slideUl .bg01  h2 img {
		width: 328px;
	}

	.mainVisual .keyBox p {
		margin: 6px 20px 0;
		font-size: 12px;
		line-height: 1.55;
	}
	
	.mainVisual .arrowList {
		display: none;
	}

	#main .content {
		margin: 0;
	}

	#main .news {
		padding: 11px 11px 11px 20px;
	}
	
	#main .news .content {
		margin: 0;
		width: auto;
	}
	
	#main .news .subBox {
		margin-bottom: 2px;
		width: auto;
		float: none;
	}

	#main .news .subBox .link {
		width: 100px;
	}

	#main .news .subBox .link a {
		padding-right: 0;
		font-size: 14px;
		background: none;
	}

	#main .news .subBox .controller {
		width: 70px;
		float: right;
	}
	
	#main .news .subBox .controller button:hover {
		filter: alpha(opacity=100);
		opacity: 1;
	}

	#main .news .subBox .controller .play {
		margin: 0 4px 0 0;
	}
	
	#main .news .subBox .controller .pause {
		margin: 0 4px 0 0;
	}
	
	#main .news .subBox .controller .prev {
		margin-right: 6px;
	}

	#main .news .subBox .controller .play button,
	#main .news .subBox .controller .pause button {
		width: 6px;
		height: 9px;
		background-size: 6px 9px;
	}

	#main .news .subBox .controller .prev button,
	#main .news .subBox .controller .next button {
		width: 7px;
		height: 10px;
		background-size: 7px auto;
	}
	
	#main .news .newsSlide {
		margin-top: 0;
		width: auto;
		float: none;
		font-size: 12px;
		letter-spacing: 0;
	}
	
	#main .news .newsDl dt {
		margin-bottom: 5px;
		width: auto;
		float: none;
		clear: none;
	}

	#main .news .newsDl dt .ttl {
		margin-left: 7px;
		padding: 1px 7px;
		font-size: 10px;
	}
		
	#main .news .newsDl dd {
		padding-left: 0;
		line-height: 1.4;
	}
			
	#main .news .newsDl dd a {
		display: block;
		text-decoration: none;
	}

	#main .about {
		//padding: 54px 0 127px;
		padding: 54px 0 150px;
		background: url(../image/index/sp_about_bg01.jpg) no-repeat left top, url(../image/index/sp_about_bg02.jpg) no-repeat right bottom;
		background-size: 202px auto;
	}

	#main .about p {
		margin-bottom: 24px;
		font-size: 13px;
		font-weight: normal;
		line-height: 2.4;
		text-align: center;
	}
	
	#main .about .textImg img {
		width: 100%;
		max-width: 196px;
	}
	
	#main .product {
		margin: -69px 0 66px;
	}

	#main .product .headLine01 {
		margin-bottom: 45px;
	}

	#main .product .headLine01:before {
			bottom: -5px;
	}

	#main .product .linkList {
		margin: 0 0 30px;
	}
	
	#main .product .linkList li {
		width: 50%;
	}

	#main .product .linkList li a {
		padding: 13px 5px 11px;
		font-size: 14px;
		line-height: 1.3;
	}
	
	#main .product .linkList li a .sm {
		font-size: 11px;
	}
	
	#main .product .linkList li a .sm01 {
		font-size: 10px;
	}

	#main .product .linkList li a:before {
		margin-left: -14px;
		width: 22px;
		background-size: 22px auto;
	}

	#main .product .linkList li a:hover {
		background-color: #BCBCBC;
	}
	
	#main .product .linkList li a:hover:before {
		display: none;
	}
	
	#main .product .linkList li.on a:hover {
		background-color: #409520;
	}
	
	#main .product .linkList li.on a:hover:before {
		display: block;
	}
	
	#main .product .linkUl {
		display: block;
		-webkit-display: block;
		overflow: hidden;
		zoom: 1;
	}
	
	#main .product .linkUl li {
		width: 33.33%;
		float: left;
		flex: none;
		-webkit-flex: none;
	}

	#main .product .linkUl li .inn {
		height: 50px;
		font-size: 13px;
		font-weight: bold;
	}
	
	#main .product .linkUl li sup {
		font-size: 8px;
	}

	#main .product .linkUl .wid01 {
		width: 50%;
	}
	
	#main .news01 {
		margin: 0 17px 71px;
	}
	
	#main .news01 .linkList {
		margin-top: 0;
		padding-top: 7px;
	}

	#main .news01 .linkList li {
		margin: 0 0 29px;
		width: auto;
		float: none;
		border: none;
		border-bottom: 2px solid #F2F2F2;
	}

	#main .news01 .linkList li:last-child {
		margin: 0;
	}
	
	#main .news01 .linkList li:nth-child(3n-1) {
		margin: 0 0 29px;
	}
	
	#main .news01 .linkList li a {
		padding: 0 8px 4px 0;
		font-size: 12px;
	}
	
	#main .news01 .linkList li a .ttl {
		margin-bottom: 6px;
	}
	
	#main .news01 .linkList li a .txt {
		margin-left: 1px;
		line-height: 1.55;
	}
	
	#main .news01 .linkList li a:hover {
		background-color: #FFF;
	}
	
	#main .linkBox {
		margin-bottom: 41px;
	}
	
	#main .linkBox li {
		width: 100%;
		float: none;
	}

	#main .linkBox li .inn {
		padding-top: 4px;
	}
	
	#main .linkBox li h4 {
		margin-bottom: 2px;
		font-size: 17px;
	}
	
	#main .linkBox li p {
		margin-bottom: 15px;
		font-size: 12px;
	}
	
	#main .linkBox li .btn a {
		padding: 7px 5px 6px;
		width: 38%;
		max-width: 190px;
		font-size: 12px;
		border: 1px solid #FFF;
	}
}
@media (min-width: 320px) and (max-width: 374px) {
	.mainVisual .keyBox {
		padding: 24px 15px 24px 0 !important;
		width: auto;
		min-height: inherit;
	}
	
	.mainVisual .keyBox h2 img {
		width: 100% !important;
	}
	
	#main .product .linkUl li span {
		height: 30px;
		font-size: 11px;
	}
	
	#main .linkBox li h4 {
		margin-bottom: 2px;
		font-size: 15px;
	}
	
	#main .linkBox li p {
		margin-bottom: 10px;
		font-size: 11px;
	}
}
@media (min-width: 320px) and (max-width: 354px) {
	#main .product .linkList li a .sp01 {
		display: none !important;
	}
}