@charset "UTF-8";
/* Body */
body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #FFFFFF;
    margin-left: auto;
    margin-right: auto;
    width: 85%;
    max-width: 1800px;
}
/* Container */

a {
	color:rgb(0, 163, 70);
  text-decoration: none;
}

p {
    display: block;
    margin-block-start: 1px;
    margin-block-end: 1px;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}


h1{
margin: 0px;
height:auto;

}

h2{
  display: none;
}

h3{
  margin: 0px 0px 5px 0px;
  padding: 5px 0px 5px 15px;
  width:auto;
  color: #ffffff;
  font-weight: normal;
  font-size: 100%;
  background: -moz-linear-gradient(top, #1eb31b,  #0da10a);
  background: -webkit-linear-gradient(top, #1eb31b,  #0da10a);
  background: linear-gradient(to bottom, #1eb31b,  #0da10a);
}

h4{
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  color: rgb(0, 116, 4);
  font-weight: bold;
  font-size: 100%;
}

h5{
  margin: 0px 0px 0px 0px;
  padding: 5px 0px 0px 0px;
  color: rgb(0, 116, 4);
  font-weight: normal;
  font-size: 100%;
}



/* Header */
header {
height: auto;
width:auto;
overflow: hidden;

}

body , html {
  text-align: center;
}

.container .header {
}

.container {
    text-align: left;
    background-color: #FFFFFF;
    font-family: Arial, Helvetica, sans-serif;
    color: #333333;
    margin: 0px;
    width: 100%;
    height: auto;
    box-shadow: 0 0 8px gray;

}


.title {
 position: relative;
 left: 0px;
 width: 100%;
 height: 100px;

 overflow: hidden;
 border-top:inset 10px #339933;
 box-sizing: border-box;
 padding:0px;
}

.title2 {
display: none;
}

.titlelogo {
  position: relative;
  width:240;
  min-height: 100px;
  float: left;
  padding: 10px;
  box-sizing: border-box;
}

.titleimg {
  position: absolute;
  display: inline-block;
  width:auto;
  height:100px;
  float: left;
  overflow: hidden;
}

.menu1 {
  position: absolute;
  display: table-cell;
  float: right;
  width: auto;
  height: auto;
  vertical-align: middle;
  background-color:black ;
  top: 0;
  text-align: center;
  right:0;
  padding:10px;
  margin: 10px;
  box-sizing: border-box;
}




/*スマホメニューのリスト大*/
.smenu{
  border-top: solid 2px #ffffff;
  width:100%;
  text-align: left;
  color: #ffffff;
  background-color: rgb(0, 116, 4);
  padding:10px 0px 10px 20px;
  margin: 0px 0px 0px 0px;
  box-sizing: border-box;
}
/*スマホメニューのリスト小*/
.smenu2{
  border-top: solid 1px #ffffff;
  width:100%;
  text-align: left;
  color: #ffffff;
  background-color: rgb(0, 116, 4);
  padding:10px 0px 10px 20px;
  margin: 0px 0px 0px 0px;
    box-sizing: border-box;
}

.textbox{
  padding:0px;
}

.contbox{
  margin: 40px 0px 0px 0px;
  height: auto;
  width:100%;
  top:0px;
  position: relative;
  box-sizing: border-box;
  padding:0px 0px 0px 0px;
}



.box100 {
  width: 100%;
  height: auto;
  background-color: #ffffff;
  box-sizing: border-box;
margin: 0px;
padding: 10px 30px 10px 30px;
position: relative;
float: left;
border-top: 1px solid #dddddd;
}

.box50 {
  width:50%;
  height: auto;
position: relative;
  float:left;
  margin: 0px;
  padding:10px 30px 10px 30px;
  box-sizing: border-box;
  border-top: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
}



.sidebox {
  width:24%;
  position: relative;
  float:right;
  font-size: 80%;
  box-sizing: border-box;
  padding:5px 10px 5px 5px;
}

.sideboxtitle {
  background-color: rgb(0, 116, 4);
  color: #fff;
  padding:5px 5px 5px 10px;
  margin-top:10px;
}

.sideboxcont {
  background-color: #e0e0e0;
  padding:5px 5px 5px 10px;
  margin-bottom:10px;
}

.imgboxr30{
  width:31%;
  position: relative;
  float:right;
    padding:1%;
}
.imgboxl30{
  width:31%;
  position: relative;
  float:left;
  padding:1%;
}

.imgboxl20{
  width:20%;
  position: relative;
  float:left;
  padding:1%;
}

.imgboxr50{
  width:48%;
  position: relative;
  float:right;
    padding:1%;
}
.imgboxl50{
  width:48%;
  position: relative;
  float:left;
  padding:1%;
}

.imgbox100 {
  width:98%;
  position: relative;
  float:right;
  margin:1%;
}

.overtextl{
 position: absolute;
 top:80px;
 left:80px;
 width:30%;
 color: black;
 padding:10px;
 background-color: #ffffffdd;
 text-shadow    :
      2px  2px 1px #fff,
     -2px  2px 1px #fff,
      2px -2px 1px #fff,
     -2px -2px 1px #fff,
      2px  0px 1px #fff,
      0px  2px 1px #fff,
     -2px  0px 1px #fff,
      0px -2px 1px #fff,
      4px  4px 2px #fff,
     -4px  4px 2px #fff,
      4px -4px 2px #fff,
     -4px -4px 2px #fff,
      4px  0px 2px #fff,
      0px  4px 2px #fff,
     -4px  0px 2px #fff,
      0px -4px 2px #fff;
}

.overtextr{
  position: absolute;
  bottom:80px;
  right:80px;
  width:30%;
  color: black;
  padding:10px;
  background-color: #ffffffdd;
  text-shadow    :
       2px  2px 1px #fff,
      -2px  2px 1px #fff,
       2px -2px 1px #fff,
      -2px -2px 1px #fff,
       2px  0px 1px #fff,
       0px  2px 1px #fff,
      -2px  0px 1px #fff,
       0px -2px 1px #fff,
       4px  4px 2px #fff,
      -4px  4px 2px #fff,
       4px -4px 2px #fff,
      -4px -4px 2px #fff,
       4px  0px 2px #fff,
       0px  4px 2px #fff,
      -4px  0px 2px #fff,
       0px -4px 2px #fff;
}

footer {
  clear: both;
width: 100%;
padding:20px 0px 20px 0px;
height: auto;
color: #ffffff;
text-align: center;
background: -moz-linear-gradient(top, #318646,  #1d672f);
background: -webkit-linear-gradient(top, #318646, #1d672f);
background: linear-gradient(to bottom, #318646, #1d672f);

}



/*ここからスライド*/
.slide {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}

@keyframes slideshow{
  0%{
    opacity: 0;
  }
  10%{
    opacity: 1;
  }
  28%{
    opacity: 1
  }
  38%{
    opacity: 0;
  }
  100%{
    opacity: 0;
  }

}

.slide img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  opacity: 0;
  animation :slideshow 24s linear infinite;
}

.slide img:nth-child(2){
  animation-delay: 8s;
}

.slide img:last-child{
  animation-delay: 16s;
}

/*スライド上メッセージ*/
.msg {
  margin: 0 0 0 -37%;  /*縦横半分をネガティブマージンでずらす*/
  position: absolute;     /*body要素に対して絶対配置*/
  top: 25%;       /*上端を中央に*/
  left: 60%;      /*左端を中央に*/
  width: 50%;   /*横幅*/
  height: 20%;  /*縦幅*/

}



/*ここからメニュー2*/
.menu3 {
  width: 100%;
  text-align: center;
  clear: both;
    position: relative;
  float:left;
    box-sizing: border-box;
}
/*ここまでメニュー2*/


.topbannerimg {
width:100%;

}


/*ここからメニュー*/


.menu {
  position: relative;
  width: 100%;
  height: 40px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  list-style: none;
  text-align: center;
  padding-inline-start: 0px;
  float:left;
  font-size: 100%;
  box-sizing: border-box;
}

.menu > li {
    float: left;
    width: 16.66%; /* グローバルナビ8つの場合 */
    height: 40px;
    line-height: 40px;
    background: -moz-linear-gradient(top, #ffffff 80%, #f0f0f0);
    background: -webkit-linear-gradient(top, #FFFFFF 80%, #f0f0f0);
    background: linear-gradient(to bottom, #FFFFFF 80%, #f0f0f0);
    border-bottom: 0px solid #dddddd;
    box-sizing: border-box;

}

.menu > li a {
    display: block;
        color: #222222;
        border:  solid 1px #dddddd;
}

.menu > li a:hover {
    color: #000;
}

ul.menu__second-level {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    list-style: none;
      padding-inline-start: 0px;
}

ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
    list-style: none;
      padding-inline-start: 0px;
}

ul.menu__fourth-level {
    visibility: hidden;
    opacity: 0;
    list-style: none;
      padding-inline-start: 0px;
}

.menu > li:hover {
  background: -moz-linear-gradient(top, #dbffdd, #c9ffc2);
background: -webkit-linear-gradient(top, #dbffdd, #c9ffc2);
background: linear-gradient(to bottom, #dbffdd, #c9ffc2);
    -webkit-transition: all .5s;
    transition: all .5s;
}

.menu__second-level li {
    border-top: 1px solid #ffffff;
    box-sizing: border-box;
    font-size: 80%;

}

.menu__third-level li {
    border-top: 1px solid #ffffff;
}

.menu__second-level li a:hover {
  background: -moz-linear-gradient(top, #dbffdd, #c9ffc2);
background: -webkit-linear-gradient(top, #dbffdd, #c9ffc2);
background: linear-gradient(to bottom, #dbffdd, #c9ffc2);
}

.menu__third-level li a:hover {
    background: #ffffff;
}

.menu__fourth-level li a:hover {
    background: #ffffff;
}

/* 下矢印 */
.init-bottom:after {
    content: '';
    display: inline-block;
    width: 0px;
    height: 0px;
    margin: 0 0 0 0px;
    border-right: 0px solid #fff;
    border-bottom: 0px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

/* floatクリア */
.menu:before,
.menu:after {
    content: " ";
    display: table;
}

.menu:after {
    clear: both;
}

.menu {
    *zoom: 1;
}


.menu > li.menu__multi {
    position: relative;
}

li.menu__multi ul.menu__second-level {
    position: absolute;
    top: 40px;
    width: 100%;
    background: -moz-linear-gradient(top, #ffffff 80%, #f0f0f0);
    background: -webkit-linear-gradient(top, #FFFFFF 80%, #f0f0f0);
    background: linear-gradient(to bottom, #FFFFFF 80%, #f0f0f0);
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__multi:hover ul.menu__second-level {
    top: 40px;
    visibility: visible;
    opacity: 1;
}

li.menu__multi ul.menu__second-level li {
    position: relative;
}

li.menu__multi ul.menu__second-level li:hover {
    background: #ffffff;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level {
    position: absolute;
    top: -1px;
    left: 100%;
    width: 100%;
    background: #7881a7;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__multi ul.menu__second-level li:hover ul.menu__third-level {
    visibility: visible;
    opacity: 1;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level li {
    position: relative;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level li:hover {
    background: #7881a7;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level li ul.menu__fourth-level {
    position: absolute;
    top: -1px;
    left: 100%;
    width: 100%;
    background: #7881a7;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level li:hover ul.menu__fourth-level {
    visibility: visible;
    opacity: 1;
}

.init-right:after {
    content: '';
    display: none;
    width: 6px;
    height: 6px;
    margin: 0 0 0 15px;
    border-right: 1px solid #fff;
    border-top: 1px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}


/*ここからテキストスライド*/
#acMenu {
  margin:0px;
}

#acMenu dt{
display:block;
cursor:pointer;
color:#308AfC;
}
#acMenu dd{
  display:none;
  margin:0px;
}

#nav-drawer {
  display: none;
}


.more{

	color:#308AfC;


}

/* Mobile */
@media (max-width: 976px) {

/*pc用メニューを消す*/
.menu{
  display: none;
}



/*スマホ用メニュー*/

#nav-drawer {
  display: inline;
  position: relative;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
    display: inline-block;
    width: 100%;
    height: 50px;
    vertical-align: middle;
    background-color: #318646;
    padding: 15px 15px;
    box-sizing: border-box;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 4px;/*線の太さ*/
    width: 30px;/*長さ*/
    border-radius: 3px;
    background: #fff;
    display: block;
    content: '';
    cursor: pointer;
}
#nav-open span:before {
    bottom: -8px;
}
#nav-open span:after {
    bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
    display: none;/*はじめは隠しておく*/
    position: fixed;
    z-index: 99;
    top: 0;/*全体に広がるように*/
    left: 0;
    width: 90%;
    height: 100%;
    background: black;
    opacity: 0;
    transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0px;
    left: 0;
    z-index: 9999;/*最前面に*/
    width: 90%;/*右側に隙間を作る*/
    max-width: 330px;/*最大幅*/
    height: 100%;
    background: #318646;/*背景色*/
    color: #fff;
    transition: .3s ease-in-out;/*滑らかに表示*/
    -webkit-transform: translateX(-105%);
    transform: translateX(-105%);/*左に隠しておく*/
}

/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
    display: block;/*カバーを表示*/
    opacity: .5;
}

#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);/*中身を表示*/
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}


/*スマホ用メニューここまで*/

body {
    font-family: Arial, Helvetica, sans-serif;
    background-color: #FFFFFF;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
}


header {
height: auto;
}

.box50 {
  width:100%;
  height: auto;
position: relative;

  margin: 0px;
  padding:10px 30px 10px 30px;
  box-sizing: border-box;
  border-top: 1px solid #dddddd;
  border-left: 1px solid #dddddd;
}




.imgboxr30{
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}
.imgboxl30{
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}

.imgboxl20{
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}

.imgboxr50{
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}
.imgboxl50{
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}

.imgbox100 {
  width:100%;
  position: relative;
  margin: 0px;
  padding:0%;
  box-sizing: border-box;
}

.overtextl{
 position: relative;
 top:0%;
 left:0%;
 width:100%;
 padding:0px;
 background-color: #ffffff00;
}

.overtextr{

 position: relative;
 right:0%;
 bottom:0%;
 width:100%;
 padding:0px;
 background-color: #ffffff00;
}





  .msg {
    margin: 0 0 0 -37%;  /*縦横半分をネガティブマージンでずらす*/
    position: absolute;     /*body要素に対して絶対配置*/
    top: 40%;       /*上端を中央に*/
    left: 43%;      /*左端を中央に*/
    width: 90%;   /*横幅*/
    height: 30%;  /*縦幅*/

  }

  .slide img {
    position: absolute;
    top: 25%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    opacity: 0;
    animation :slideshow 24s linear infinite;
  }

  .box1 {
    width: 100%;
    background-color: #ffffff;
    height: 100%;
    box-sizing: border-box;
  min-height: auto;
  margin: 200px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  position: absolute;
  top: 0;
  text-align: center;
  overflow: hidden;
  box-sizing: border-box;
  }

  .wrapper {
    width:100vw;
    min-height: 80%;
    box-sizing: border-box;
  }

  .sidebox {
    width:100%;
    position: relative;
    float:right;
    font-size: 80%;
    box-sizing: border-box;
    padding:5px 10px 5px 10px;
  }

}

/* Mobile */
@media (max-width: 576px) {

  .topbanner {
    width:49%;
    float:left;
    padding:0px 0.5%;
  }

  .msg {
    margin: 0 0 0 -37%;  /*縦横半分をネガティブマージンでずらす*/
    position: absolute;     /*body要素に対して絶対配置*/
    top: 45%;       /*上端を中央に*/
    left: 50%;      /*左端を中央に*/
    width: 80%;   /*横幅*/
    height: 20%;  /*縦幅*/

  }


}

/*rev0*/
