@charset "utf-8";

/* mainimage
--------------------------------------------------------------*/
.mainimage{
  width:100%;
  height:100vh;
  background-color:#ddd;
  position:relative;
  top:0;
  overflow:hidden;
  z-index:1;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  background-color:#000;
}
.mainimage .slide-container{
  width:100%;
  height:100vh;
  position:relative;
}
.mainimage .slide-container img{
  object-fit: cover;
  width:100%;
  height:100%;
}
.mainimage .slide-container .slideCatch{
  display:inline-block;
  position:absolute;
  top:60%;
  left:50%;
  transform:translateX(-50%);
  font-size:3.6rem;
  font-weight:bold;
  text-shadow:rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 3px,
  rgb(255, 255, 255, 1) 0 0 5px,
  rgb(255, 255, 255, 1) 0 0 5px,
  rgb(255, 255, 255, 1) 0 0 5px,
  rgb(255, 255, 255, 1) 0 0 5px;
}
.mainimage .t_slider.no1 a{color:#95459b;}
.mainimage .t_slider.no2 a{color:#ea8724;}
.mainimage .t_slider.no3 a{color:#2e7cbc;}
.mainimage .t_slider.no4 a{color:#c6343f;}
.mainimage .welcome{
  position:absolute;
  top:35%;
  left:50%;
  transform:translateX(-50%);
  font-size:3.6rem;
  font-weight:bold;
  z-index:100;
  color:#fff;
  text-shadow:rgb(20,133,65, .5) 2px 0px 0px,
	  rgb(20,133,65, .5) 1.75517px 0.958851px 0px,
	  rgb(20,133,65, .5) 1.0806px 1.68294px 0px,
	  rgb(20,133,65, .5) 0.141474px 1.99499px 0px,
	  rgb(20,133,65, .5) -0.832294px 1.81859px 0px,
	  rgb(20,133,65, .5) -1.60229px 1.19694px 0px,
	  rgb(20,133,65, .5) -1.97998px 0.28224px 0px,
	  rgb(20,133,65, .5) -1.87291px -0.701566px 0px,
	  rgb(20,133,65, .5) -1.30729px -1.5136px 0px,
	  rgb(20,133,65, .5) -0.421592px -1.95506px 0px,
	  rgb(20,133,65, .5) 0.567324px -1.91785px 0px,
	  rgb(20,133,65, .5) 1.41734px -1.41108px 0px,
	  rgb(20,133,65, .5) 1.92034px -0.558831px 0px;
}
.mainimage .title{
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  font-size:6.0rem;
  background-color:rgba(0,0,0,.7);
  color:#fff;
  width:730px;
  height:100px;
  line-height:100px;
  text-align:center;
  z-index:101;
}
.mainimage .title::after,
.mainimage .title::before{
  position:absolute;
  width:107px;
  height:60px;
  line-height:0;
}
.mainimage .title::before{
  top:-50px;
  left:-60px;
  content:url(../img/top_title_mainimage_tl.svg);
}
.mainimage .title::after{
  bottom:-50px;
  right:-60px;
  content:url(../img/top_title_mainimage_br.svg);
}
@media only screen and (max-width:768px) {
  .mainimage .slide-container .slideCatch{font-size:3.0rem;}
  .mainimage .welcome{
	top:36%;
	font-size:3.0rem;
  }
  .mainimage .title{
	font-size:5.0rem;
	width:620px;
	height:100px;
	line-height:100px;
  }
}
@media only screen and (max-width:480px) {
  .mainimage .slide-container .slideCatch{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	font-size:2.4rem;
	top:56%;
	left:30%;
  }
  .mainimage .welcome{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	font-size:2.4rem;
	top:16%;
	left:70%;
  }
  .mainimage .title{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	-webkit-text-orientation: upright;
	text-orientation: upright;
	font-size:3.6rem;
	width:80px;
	height:68vh;
	line-height:80px;
  }
  .mainimage .title::after,
  .mainimage .title::before{display:none;}
}

/* h
--------------------------------------------------------------*/
h2{text-align:center;}
h2 span{
  font-size:4.0rem;
  color:#148541;
  position:relative;
  display:inline-block;
  padding:0 70px;
}
h2 span::before,
h2 span::after{
  top:-6px;
  position:absolute;
  width:55px;
  height:12px;
}
h2 span::before{
  content:url(../img/top_title_service_l.svg);
  left:0;
}
h2 span::after{
  content:url(../img/top_title_service_r.svg);
  right:0;
}
@media only screen and (max-width:480px) {
  h2 span{font-size:2.6rem;}
  h2 span::before,
  h2 span::after{top:-2px;}
}

/* top-news
--------------------------------------------------------------*/
.top-news dl{
  border-bottom:solid 1px #c7b299;
  margin-top:30px;
}
.top-news dl dt,
.top-news dl dd{
  border-top:solid 1px #c7b299;
  padding:10px 2%;
  float:left;
}
.top-news dl dt{width:130px;}
.top-news dl dd{width:calc(92% - 130px);}
.top-news dl dd .pdf{
  font-size:1.4rem;
  color:#fff;
  background-color:#148541;
  padding:1px 3px;
}
.top-news dl dd i.pdf{
  content:url(../img/icon_window.svg);
  margin-left:0.5em;
}
@media only screen and (max-width:768px) {
}
@media only screen and (max-width:480px) {
  .top-news dl{margin-top:20px;}
  .top-news dl dt,
  .top-news dl dd{
	float:none;
	width:96%;
  }
  .top-news dl dd{border-top-style:dotted;}
}

/* top-service
--------------------------------------------------------------*/
.top-service{
  margin-top:80px;
  position:relative;
}
.service-box{
  margin-top:120px;
  padding-bottom:60px;
  position:relative;
}
.service-box::before{
  position:absolute;
  display:block;
  content:'';
  top:-30px;
  width:calc(60% - 60px);
  height:calc(100% + 20px);
}
.service-box.service-left::before{
  background:linear-gradient(to right, rgba(151,186,136,.2) 0%, rgba(150,193,31,.5) 100%);
  left:0;
}
.service-box.service-right::before{
  background:linear-gradient(to right, rgba(150,193,31,.5) 0%, rgba(151,186,136,.2) 100%);
  right:0;
}
.service-contents{
  display:flex;
  justify-content:space-between;
  width:80%;
  min-width:1160px;
  max-width:1180px;
  margin:auto;
  position:relative;
}
.service-right .service-contents{flex-direction:row-reverse;}
.service-contents .image-area{
  width:calc(70% - 130px);
  margin-top:-80px;
  z-index:9;
}
.service-contents .image-area img{width:100%;}
.service-left .service-contents .image-area{margin-left:-130px;}
.service-right .service-contents .image-area{margin-right:-130px;}
.service-contents .text-area{
  width:calc(50% - 80px);
  background-color:#fff;
  z-index:10;
  box-shadow:5px 5px 10px rgba(20,133,65,.2);
  padding:40px;
  height:220px;
}
.service-contents .text-area .title-box{
  position:relative;
  padding-left:14px;
}
.service-contents .text-area .title-box::before{
  content: '';
  display: block;
  width: 4px;
  height:100%;
  position:absolute;
  left:0;
  background:linear-gradient(to bottom, #fbb03b 0%, #ffe300 100%);
}
.service-contents .text-area .subtitle,
.service-contents .text-area .title{
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight:bold;
}
.service-contents .text-area .subtitle{
  font-size:2.0rem;
  color:#148541;
}
.service-contents .text-area .title{
  font-size:3.8rem;
  color:#4c370d;
  line-height:1.2;
}
.service-contents .text-area .text{margin-top:15px;}
.service-contents .text-area .service-btn{
  margin-top:15px;
  text-align:right;
}
.service-contents .text-area .service-btn a,
.service-contents .text-area .service-btn a::before{
  display:inline-block;
  width:250px;
  height:60px;
  line-height:60px;
  color:#fff;
  text-align:center;
  transition: all 0.5s;
}
.service-contents .text-area .service-btn a{
  background:linear-gradient(to right, #96c11f 40%, #148541 100%);
  position:relative;
}
.service-contents .text-area .service-btn a span{position:relative;}
.service-contents .text-area .service-btn a::before{
  background:linear-gradient(to right, #96c11f 0%, #148541 100%);
  position:absolute;
  top:0;
  left:0;
  content:'';
}
.service-contents .text-area .service-btn a:hover::before{opacity:0;}
.service-contents .text-area .service-btn a::after{
  position: absolute;
  right:1.5rem;
  margin: 0;
  padding: 0;
  content:url(../img/arrow_w.png);
  -webkit-transition: all 0.3s;
}
.service-contents .text-area .service-btn a:hover::after{right:0.5rem;}
@media only screen and (max-width:1200px) {
  .service-box::before{
	width:calc(80% - 60px);
  }
  .service-contents{
	width:90%;
	min-width:inherit;
	max-width:none;
  }
  .service-contents .image-area{
	width:calc(70% - 130px);
  }
  .service-contents .text-area{
	width:calc(70% - 80px);
  }
}
@media only screen and (max-width:768px) {
  .service-box{margin-top:80px;}
  .service-contents{
	flex-wrap:wrap;
    box-shadow:5px 5px 10px rgba(20,133,65,.2);
  }
  .service-box::before{
	top:-40px;
	width:calc(100% - 60px);
  }
  .service-contents{width:80%;}
  .service-left .service-contents{margin-left:6%;}
  .service-right .service-contents{margin-right:6%;}
  .service-contents .image-area{
	width:100%;
	margin-left:0;
	margin-top:0;
  }
  .service-left .service-contents .image-area{margin-left:0;}
  .service-right .service-contents .image-area{margin-right:0;}
  .service-contents .text-area{
	width:100%;
	height:auto;
	box-shadow:none;
  }
}
@media only screen and (max-width:480px) {
  .service-box{margin-top:60px;}
  .service-box::before{width:calc(100% - 20px);}
  .service-left .service-contents{margin-left:7%;}
  .service-right .service-contents{margin-right:7%;}
  .service-contents .text-area{padding:20px;}
  .service-contents .text-area .subtitle{font-size:1.8rem;}
  .service-contents .text-area .title{font-size:2.4rem;}
  .service-contents .text-area .service-btn a,
  .service-contents .text-area .service-btn a::before{width:100%;}
}


/* top-about
--------------------------------------------------------------*/
.top-about{
  margin-top:80px;
  background: -moz-linear-gradient(top, #f7f7f2, #fff);
  background: -webkit-linear-gradient(top, #f7f7f2, #fff);
  background: linear-gradient(to bottom, #f7f7f2, #fff);
}
.top-about::before{
  content: "";
  display: block;
  height: 2px;
  background:linear-gradient(to right, #bed8b4 0%, #edf2eb 50%, #bed8b4 100%);
}
.top-about h2{margin-top:50px;}
.top-about ul{
  display:flex;
  justify-content:space-between;
  margin-top:30px;
}
.top-about ul li{width:30%;}
.top-about ul li img{width:100%;}
.top-about ul li a{
  width:100%;
  height:100%;
  display:block;
  position:relative;
}
.top-about ul li a:hover img{opacity:1;}
.top-about ul li img{width:100%;}
.top-about ul li .image,
.top-about ul li p{
  z-index:10;
  position:relative;
}
.top-about ul li p{
  display:inline-block;
  position:absolute;
  top:50%;
  left:50%;
  transform:translateX(-50%) translateY(-50%);
  font-size:2.2rem;
  color:#fff;
  background-color:rgba(0,0,0,.7);
  width:230px;
  height:60px;
  line-height:60px;
  font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  font-weight:bold;
  text-align:center;
}
.top-about ul li p::after,
.top-about ul li p::before{
  position:absolute;
  width:32px;
  height:18px;
  line-height:0;
}
.top-about ul li p::before{
  top:-20px;
  left:-20px;
  content:url(../img/top_title_com_tl.svg);
}
.top-about ul li p::after{
  bottom:-20px;
  right:-20px;
  content:url(../img/top_title_com_br.svg);
}
.top-about ul li a::after{
  content:'';
  width:100%;
  height:100%;
  background: linear-gradient(to right, #148541 0%, #96c11f 100%);
  opacity:.5;
  position:absolute;
  top:10px;
  left:10px;
  transition: all 0.5s;
}
.top-about ul li a:hover::after{
  top:0;
  left:0;
}
@media only screen and (max-width:768px) and (min-width:481px)  {
  .top-about ul li p{
	font-size:1.8rem;
	width:170px;
	height:40px;
	line-height:40px;
  }
  .top-about ul li p::before{
	top:-12px;
	left:-14px;
  }
  .top-about ul li p::after{
	bottom:-12px;
	right:-14px;
  }
}
@media only screen and (max-width:480px) {
  .top-about{margin-top:70px;}
  .top-about ul{display:block;}
  .top-about ul li{
	width:90%;
	margin:auto;
  }
  .top-about ul li:not(:last-child){margin-bottom:30px;}
}
