@charset "utf-8";

/* ----------------------------------------------
common
------------------------------------------------- */
body {
	color: #333;
	font-size: 14px;
	line-height: 1.2;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN",sans-serif;
	background: #f7f7f7;
}
a{
	color: #333;
}
#main a{
	color: #D83300;
	font-weight: bold;
}
.t-center{
	text-align: center;
}
.t-right{
	text-align: right;
}
.t-left{
	text-align: left;
}
.bold{
	font-weight: bold;
}
.red{
	color: #f00;
}
.strong{
	font-weight: bold;
	color: #2CB100;
}
a:hover{
	opacity: 0.6;
}

.bx-wrapper .bx-viewport{
	left: 0;
	border: 0;
	box-shadow: none;
	background: none;
}

/* ----------------------------------------------
header
------------------------------------------------- */
#home #header{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	background: url(../images/header_op.png) repeat-x top left;
	background:-moz-linear-gradient(50% 0% -90deg,rgba(46,183,0,.85) 0%,rgba(35,138,0,.85) 41%,rgba(35,138,0,.85) 100%);
	background:linear-gradient(180deg,rgba(46,183,0,.85) 0%,rgba(35,138,0,.85) 41%,rgba(35,138,0,.85) 100%);
	z-index: 4;
}
#content #header{
	width: 100%;
	background: url(../images/header.png) repeat-x top left;
	background:-moz-linear-gradient(50% 0% -90deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0,) 100%);
	background:linear-gradient(180deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0) 100%);
	box-shadow: 0 -2px 4px 2px rgba(0, 0, 0, 0.6);
}
#header .inner{
	margin: 0 auto;
	width: 100%;
	max-width: 980px;
}
#header_logo{
	float: left;
	padding-top: 42px;
	padding-left: 13px;
}
#header .contents{
	float: right;
	padding-right: 28px;
	width: 100%;
	max-width: 560px;
}
#header_top{
	padding-top: 9px;
	text-align: right;
}
#header_top p{
	display: inline-block;
}
#header_top p + p{
	margin-left: 12px;
}
@media screen and (min-width: 981px) {
	#home #header::before,
	#home #header::after{
		position: absolute;
		top: 0;
		content: ' ';
		display: block;
		width: calc((100% - 980px) / 2);
		height: 100%;
		background: url(../images/header.png) repeat-x top left;
		background:-moz-linear-gradient(50% 0% -90deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0,) 100%);
		background:linear-gradient(180deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0) 100%);
	}
	#home #header::before{
		left: 0;
	}
	#home #header::after{
		right: 0;
	}
}
@media screen and (max-width: 979px) {
	#header .contents{
		width: calc(100% - 308px);
		max-width: 560px;
	}
}
@media screen and (max-width: 767px) {
	#header_logo{
		float: none;
		padding-top: 17px;
		padding-left: 60px;
		width: 300px;
		height: 60px;
	}
	#header_logo img{
		width: 100%;
		height: auto;
	}
	#header_top{
		display: none;
	}
}
#gnav{
	margin-top: 16px;
	padding-bottom: 20px;
}
#gnav li{
	float: left;
}
#gnav li + li{
	margin-left: calc((100% - 376px) / 4);
}
@media screen and (max-width: 767px) {
	#gnav{
		margin-top: 0;
		padding-bottom: 0;
		height: calc(100vh - 51px);
		overflow-y: auto;
	}
	#gnav li + li{
		margin-left: 0;
	}
	#gnav li a:before{
		content: attr(data-label);
	}
	#gnav li a img{
		display: none;
	}
}


/* ----------------------------------------------
main(home)
------------------------------------------------- */
#main{
	padding-bottom: 90px;
}
#mainimg{
	position: relative;
	width: 100%;
	overflow: hidden;
	z-index: 0;
}
#mainimg::before,
#mainimg::after{
	position: absolute;
	top: 0;
	content: ' ';
	display: block;
	width: calc((100% - 980px) / 2);
	height: 100%;
	background: rgba(255, 255, 255, 0.6);
	z-index: 1;
}
#mainimg::before{
	left: 0;
}
#mainimg::after{
	right: 0;
}
#mainimg .bx-wrapper{
	margin-bottom: 0;
}
#mainimg .bx-viewport{
	overflow: visible!important;
}
#mainslider li{
	position: relative;
}
#mainslider .txt{
	position: absolute;
	top: 132px;
	left: 30px;
	z-index: 1;
}
@media screen and (max-width: 767px) {
	#mainslider .txt{
		top: 70px;
		left: 10px;
	}
}

section h2{
	text-align: center;
}
section h2 span{
	position: relative;
	display: inline-block;
	font-size: 40px;
	letter-spacing: 0.2em;
	font-weight: bold;
	color: rgb(35,138,0);
	background:-moz-linear-gradient(50% 0% -90deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0,) 100%);
	background:linear-gradient(180deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color:transparent;
}
@media all and (-ms-high-contrast: none){
  section h2 span{
    background: none; /* IE10以上 */
  }
}

section h2 small{
	font-size: 16px;
	color: #3E1F00;
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	section h2 span{
		font-size: 34px;
	}
}

section#about{
	margin: 36px auto 0;
	border: 8px solid #2DB100;
	padding: 15px;
	width: 100%;
	max-width: 980px;
	background: url(../images/about_bg.jpg) no-repeat center center;
	background-size: cover;
	text-align: center;
}
#about h2{
	margin-bottom: 25px;
}
#about .text{
	display: inline-block;
	text-align: left;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
#about .more{
	margin-top: 35px;
}
section#item{
	margin: 75px auto 0;
}
#item h2{
	margin-bottom: 15px;
}
#item .contents{
	background: url(../images/item_bg.png) repeat left top;
}
#item .contents .inner{
	margin: 0 auto;
	padding: 7px;
	width: 100%;
	max-width: 1250px;
}
.item_block{
	position: relative;
	float: left;
	padding: 1px;
	width: calc((100% - 35px) / 6);
	background: #fff;
}
.item_block + .item_block{
	margin-left: 7px;
}
.item_block .imgbox img{
	width: 100%;
	height: auto;
}
.item_block .title{
	position: absolute;
	bottom: 4px;
	left: 4px;
	padding: 8px 20px;
	width: calc(100% - 8px);
	text-align: center;
	color: #fff;
	background: url(../images/white_arrow.png) no-repeat right 12px center rgba(35, 138, 0, 0.8);
}
@media screen and (max-width: 767px) {
	.item_block{
		float: none;
		margin-left: auto;
		margin-right: auto;
		padding: 1px;
		width: 100%;
		max-width: 190px;
	}
	.item_block + .item_block{
		margin-left: auto;
		margin-top: 7px;
	}
}

section#topics{
	margin: 75px auto 0;
	padding: 0 10px;
	width: 100%;
	max-width: 1000px;
}
section#topics h2{
	margin-bottom: 15px;
}
.topics_block{
	border-bottom: 1px dotted #000;
	padding: 22px 0 12px;
}
.topics_block .date{
	float: left;
	width: 95px;
	font-size: 15px;
	font-weight: bold;
	line-height: 1.4;
}
.topics_block .text{
	float: right;
	width: calc(100% - 96px);
	line-height: 1.6;
}
.topics_block .text p:first-child::before{
	content: '|';
	margin-right: 2px;
}
@media screen and (max-width: 767px) {
	.topics_block .date{
		float: none;
	}
	.topics_block .text{
		float: none;
		width: 100%;
	}
	.topics_block .text p:first-child::before{
		display: none;
	}
}

section#info{
	margin: 92px auto 0;
	width: 100%;
	max-width: 980px;
}
section#info .contents{
	position: relative;
	float: left;
	padding: 16px 16px 60px 26px;
	width: 50%;
	height: 260px;
	background: url(../images/info_bg.jpg) no-repeat center center;
	background-size: cover;
}
section#info p{
	line-height: 1.8;
}
section#info .name{
	font-size: 15px;
	margin-bottom: 1em;
	line-height: 1.2;
}
section#info .name span{
	font-size: 18px;
}
section#info .more{
	position: absolute;
	bottom: 14px;
	right: 16px;
}
section#info .map{
	float: right;
	border: 6px solid #2DB100;
	width: 50%;
	height: 260px;
}
section#info .map > div{
	height: 100%;
}
section#info .map iframe{
	width: 100%;
	height: 100%;
}
@media screen and (max-width: 767px) {
	section#info .contents{
		float: none;
		padding-bottom: 14px;
		width: 100%;
		height: auto;
	}
	section#info .more{
		position: relative;
		bottom: auto;
		right: auto;
		margin-top: 14px;
		text-align: right;
	}
	section#info .map{
		float: none;
		width: 100%;
	}
}


/* ----------------------------------------------
main(content)
------------------------------------------------- */
#pagetitle{
	position: relative;
	background: #FFFFBF;
}
#pagetitle_bg{
	position: relative;
	margin: 0 auto;
	width: 100%;
	max-width: 980px;
	height: 190px;
	overflow: hidden;
}
#pagetitle_bg img{
	position: absolute;
	top: 0;
	left: 50%;
	margin-left: -490px;
	width: 980px;
	height: auto;
}
#pagetitle h2{
	position: absolute;
	top: 40px;
	left: 0;
	right: 0;
	margin: 0 auto;
	width: 100%;
	max-width: 980px;
	text-align: center;
	font-size: 30px;
	letter-spacing: 0.2em;
	color: #fff;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, sans-serif;
}
#pagetitle h2 small{
	display: block;
	margin-top: 5px;
	font-size: 12px;
	letter-spacing: 0.06em;
}
#pagetitle .linkset{
	position: absolute;
	left: 0;
	right: 0;
	bottom: 16px;
	margin: 0 auto;
	width: 100%;
	max-width: 940px;
}
#pagetitle .linkset li{
	float: left;
	width: calc((100% - 61px) / 4);
}
#pagetitle .linkset li + li{
	margin-left: 20px;
}
#pagetitle .linkset li a{
	position: relative;
	display: block;
	padding: 15px 30px 15px 13px;
	border-radius: 5px;
	background: url(../images/link_bg.png) repeat-x top left;
	background-size: auto 100%;
	background:-moz-linear-gradient(50% 0% -90deg,#FF7E53 0%,#D93600 46%,#D93600 100%);
	background:linear-gradient(180deg,#FF7E53 0%,#D93600 46%,#D93600 100%);
	font-size: 13px;
	letter-spacing: 0.1em;
	color: #fff;
}
#pagetitle .linkset li a::after{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 18px;
	content: ' ';
	display: block;
	margin: auto;
	width: 8px;
	height: 11px;
	background: url(../images/link_arrow.png) no-repeat left top;
}
@media screen and (max-width: 767px) {
	#pagetitle_bg{
		height: 149px;
	}
	#pagetitle_bg img{
		margin-left: -384px;
		width: 768px;
	}
	#pagetitle .linkset{
		position: relative;
		top: 0;
		right: auto;
		bottom: auto;
		margin: 0 auto;
		padding: 10px;
		max-width: 240px;
	}
	#pagetitle .linkset li{
		float: none;
		width: 100%;
	}
	#pagetitle .linkset li + li{
		margin-left: 0;
		margin-top: 10px;
	}
	#pagetitle .linkset li a{
		padding: 10px 30px 10px 13px;
	}
}


.main_contents{
	margin: 0 auto;
	padding: 65px 10px 105px;
	width: 100%;
	max-width: 1000px;
}
.main_contents > div{
	margin-top: 75px;
}
.main_contents > div:first-child{
	margin-top: 0;
}

.h3set{
	text-align: center;
}
.h3set h3 span{
	position: relative;
	display: inline-block;
	font-size: 40px;
	letter-spacing: 0.2em;
	font-weight: bold;
	color: rgb(35,138,0);
	background:-moz-linear-gradient(50% 0% -90deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0,) 100%);
	background:linear-gradient(180deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0) 100%);
	-webkit-background-clip: text;
	-webkit-text-fill-color:transparent;
}
@media all and (-ms-high-contrast: none){
  .h3set h3 span{
    background: none; /* IE10以上 */
  }
}
.h3set h3 small{
	font-size: 16px;
	color: #3E1F00;
	letter-spacing: 0;
}
@media screen and (max-width: 767px) {
	.h3set h3 span{
		font-size: 34px;
	}
}


.h4set{
	border-bottom: 1px solid #2DB100;
	padding-left: 32px;
	padding-bottom: 5px;
	background: url(../images/h4_bg.png) no-repeat left 3px;
}
.h4set h4{
	font-size: 18px;
	color: #2CB100;
}


.main_contents .txtset{
	margin-top: 30px;
	line-height: 1.6;
	letter-spacing: 0.06em;
}


.tableset table{
	width: 100%;
	line-height: 1.6;
	letter-spacing: 0.06em;
}
.tableset table tr{
	border-bottom: 1px dotted #000;
}
.tableset table th{
	padding: 13px 0 10px;
	font-size: 15px;
	font-weight: bold;
}
.tableset table td{
	padding: 13px 0 10px;
}
@media screen and (max-width: 767px) {
	.tableset table th{
		display: block;
	}
	.tableset table td{
		display: block;
		padding-top: 0;
	}
}

.mediaset .imgbox{
	width: 40.82%;
}
.mediaset.img-left .imgbox{
	float: left;
}
.mediaset.img-right .imgbox{
	float: right;
}
.mediaset .imgbox img{
	width: 100%;
	height: auto;
}
.mediaset .txtbox{
	width: 56.73%;
}
.mediaset.img-left .txtbox{
	float: right;
}
.mediaset.img-right .txtbox{
	float: left;
}
.mediaset .title{
	margin-bottom: 20px;
	font-size: 18px;
	color: #2CB100;
	font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","メイリオ", Meiryo, sans-serif;
}
.mediaset .text{
	line-height: 1.6;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.mediaset .imgbox{
		margin: 0 auto 20px;
		width: 100%;
		max-width: 400px;
	}
	.mediaset.img-left .imgbox{
		float: none;
	}
	.mediaset.img-right .imgbox{
		float: none;
	}
	.mediaset .txtbox{
		width: 100%;
	}
	.mediaset.img-left .txtbox{
		float: none;
	}
	.mediaset.img-right .txtbox{
		float: none;
	}
}

.col3 .callout{
	float: left;
	width: 28.62%;
}
.col3 .callout + .callout{
	margin-left: 7.07%;
}
.callout .imgbox{
	margin-bottom: 15px;
}
.callout .imgbox img{
	width: 100%;
	height: auto;
}
.callout .title{
	margin-bottom: 10px;
	font-size: 16px;
	color: #2CB100;
	letter-spacing: 0.06em;
}
.callout .text{
	line-height: 1.6;
	letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
	.calloutset.col3{
		margin-left: auto;
		margin-right: auto;
		width: 281px;
	}
	.col3 .callout{
		float: none;
		width: 100%;
	}
	.col3 .callout + .callout{
		margin-left: 0;
		margin-top: 50px;
	}
}


.flow_block{
	float: left;
	width: 28.62%;
}
.flow_block + .flow_block{
	width: 35.69%;
}
.flow_block .inner{
	margin-bottom: 15px;
}
.flow_block + .flow_block .inner{
	background: url(../images/flow_arrow.png) no-repeat left center;
	background-size: 19.81%;
}
.flow_block .imgbox{
	position: relative;
}
.flow_block + .flow_block .imgbox{
	margin: 0 0 0 auto;
	width: 80.19%;
}
.flow_block .imgbox img{
	width: 100%;
	height: auto;
}
.flow_block .title_wrapper{
	position: absolute;
	top: 8px;
	left: 5px;
	width: calc(100% - 10px);
	height: calc(100% - 16px);
	background: rgba(44, 177, 0, 0.6);
}
.flow_block .title{
	display: table;
	width: 100%;
	height: 100%;
}
.flow_block .title > span{
	display: table-cell;
	vertical-align: middle;
	font-size: 18px;
	color: #fff;
	line-height: 1.6;
	letter-spacing: 0.06em;
	text-align: center;
}
.flow_block .title span span{
	display: inline-block;
	text-align: left;
}
.flow_block .text{
	line-height: 1.6;
	letter-spacing: 0.06em;
}
.flow_block + .flow_block .text{
	margin: 0 0 0 auto;
	width: 80.19%;
}
@media screen and (max-width: 767px) {
	.flowset{
		margin-left: auto;
		margin-right: auto;
		width: 281px;
	}
	.flowset + .flowset{
		margin-top: 0;
		padding-top: 72px;
		background: url(../images/flow_arrow_sp.png) no-repeat center top;
		background-size: 36px 72px;
	}
	.flow_block{
		float: none;
		width: 100%;
	}
	.flow_block + .flow_block{
		width: 100%;
	}
	.flow_block + .flow_block .inner{
		padding-top: 72px;
		background: url(../images/flow_arrow_sp.png) no-repeat center top;
		background-size: 36px 72px;
	}
	.flow_block + .flow_block .imgbox{
		width: 100%;
	}
	.flow_block + .flow_block .text{
		width: 100%;
	}
}

.fullimg img{
	width: 100%;
	height: auto;
}

.googlemap iframe{
	width: 100%;
	height: 450px;
}
@media screen and (max-width: 767px) {
	.googlemap iframe{
		height: 250px;
	}
}
/* ----------------------------------------------
footer
------------------------------------------------- */
#copyright{
	padding: 11px;
	text-align: center;
	font-size: 11px;
	color: #fff;
	background: url(../images/header.png) repeat-x top left;
	background:-moz-linear-gradient(50% 0% -90deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0,) 100%);
	background:linear-gradient(180deg,rgb(46,183,0) 0%,rgb(35,138,0) 41%,rgb(35,138,0) 100%);
}