@charset "utf-8";

html {
  scroll-behavior: smooth;
}

.pagetop {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: white;
  text-decoration: none;
  width: 3rem;
  height: 3rem;
  background-color: green;
  border-radius: 100%;
  cursor: pointer;
}

/*  --------------------------------------------------------------------------------
  top image スライドショー（リンクあり）
--------------------------------------------------------------------------------  */

 /*=== 画像の表示エリア ================================= */
.slide {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 1320px;
  height     : 600px;
  margin     : auto;      /* サンプルは中央寄せの背景：白 */
  background : #fff;
  border-radius:10px;
}
 
 /*=== 画像の設定 ======================================= */
.slide img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
   width     : inherit;
  height     : inherit;
  left       : 100%;
  animation  : slideAnime 50s ease infinite;
  border-radius:10px;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.slide img:nth-of-type(1) { animation-delay: 0s }
.slide img:nth-of-type(2) { animation-delay: 10s }
.slide img:nth-of-type(3) { animation-delay: 20s }
.slide img:nth-of-type(4) { animation-delay: 30s }
.slide img:nth-of-type(5) { animation-delay: 40s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { left: 100%  }
   1% { left: 0     }
  19% { left: 0     }
  20% { left: -100% }
 100% { left: -100% }
}

/*  --------------------------------------------------------------------------------
   main contents
--------------------------------------------------------------------------------  */
.top-text {
  display:block;
  width:93%;
  text-align:left;
  margin:0 auto;
  }
  
.feature {
   display: flex;
   justify-content: space-between;
   width:1320px;
   max-width:95%;
   margin: 30px auto 0 auto;
   align-items: flex-start;
   flex-wrap: wrap;
 }

.contentsbox {
   display: flex;
   justify-content: space-between;
   width:100%;
   margin: 20px auto;
   align-items: flex-start;
 }

.contentsbox img {
   margin-width:300px;
   }

.contentsbox-text{
    margin-left:20px; 
    padding: 0;
   }

.reverse .contentsbox-text{
    margin-right:20px; 
    margin-left: 0;
   }

.shadow {
    box-shadow: 2px 2px 2px #CCCCCC;
    }
   
.feature-text{
    margin: 0; 
    padding: 0;
   }

.reverse {
    flex-direction: row-reverse;
    }


.featurebox{
    width:320px;
    padding:1em;
    margin: 0 0 20px 0;
    font-weight: bold;
    color: #006536;/*文字色*/
    background: #FFF;
    border: solid 1px #006536;/*線*/
    border-radius: 10px;/*角の丸み*/
}

.featurebox img {
   width:300px;
   }

.major {
  width:100%;
  height:100%;
  text-align:center;
  margin:10px auto 0 auto;
  line-height:1.5;
  }

 
a:hover {
  color:#96C78C;
  }

/*  --------------------------------------------------------------------------------
   hover image_READ MORE
--------------------------------------------------------------------------------  */

.image_link{
 display:block; 
 position:relative;
 text-decoration:none;
}
.image_link img{
  display:block;
  width:100%;
}
.image_link:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#000;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.image_link:after{
  content:"READ MORE";/*好みの文章に変更してください。*/
  display:block;
  color:#fff;
  line-height:48px;
  width:180px;
  border:solid 1px #fff;
  border-radius:5px;
  text-align:center;
  position:absolute;
  top:50%;
  left:50%;
  margin-top:-1em;
  margin-left:-90px;
  opacity:0;
  z-index:3;
  transition:0.3s;
  font-weight:bold;
  letter-spacing:0.2em;
}
.image_link:hover:before{
  opacity:0.5;
}
.image_link:hover:after{
  opacity:1;
  margin-top:-0.5em;
}

/*  --------------------------------------------------------------------------------
   hover image_coming soon
--------------------------------------------------------------------------------  */

.image_link2{
 display:block; 
 position:relative;
 text-decoration:none;
}
.image_link2 img{
  display:block;
  width:100%;
}
.image_link2:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#FFF;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.image_link2:after{
  content:"COMING SOON";/*好みの文章に変更してください。*/
  display:block;
  color:#000;
  line-height:48px;
  width:180px;
  border:solid 1px #000;
  border-radius:5px;
  text-align:center;
  position:absolute;
  top:50%;
  left:50%;
  margin-top:-1em;
  margin-left:-90px;
  opacity:0;
  z-index:3;
  transition:0.3s;
  font-weight:bold;
  letter-spacing:0.2em;
}
.image_link2:hover:before{
  opacity:0.5;
}
.image_link2:hover:after{
  opacity:1;
  margin-top:-0.5em;
}

/*  --------------------------------------------------------------------------------
   interview 
--------------------------------------------------------------------------------  */

.interviewtitle {
   display: flex;
   width:1320px;
   max-width:95%;
   margin:0 auto;
   border-radius:10px;
 }

.interviewtitle img {
   border-radius:10px;
 }

.interviewbox{
    width:100%;
    padding:2em;
    color: #006536;/*文字色*/
    background: #FFF;
    border: solid 1px #006536;/*線*/
    border-radius: 10px;/*角の丸み*/
    margin-bottom:20px;
}

.interviewbox img {
   width:360px;
   }

p {
  line-height:1.5;
}

h1 {
  background: #f7f8eb;
  box-shadow: 0px 0px 0px 5px #f7f8eb;
  border: dashed 1px #B2D235;
  padding:0.5em;
  color: #547443;
  font-size: 18px;
  margin:0 0 1em 0;
}

.right {
  text-align:right;
  }

.pageTop {
   width:1320px;
   font-size:0.9em;
   font-weight:bold;
   margin:0 auto 20px auto;
   text-align:right;
 }
 
/*  --------------------------------------------------------------------------------
   pageTop 
--------------------------------------------------------------------------------  */

#pageTop2 {
  background: #70471b;
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  text-decoration: none;
  font-size: 13px;
  text-align: center;
  z-index: 1000;
  color: #fff;
  border-radius: 100%;
}

#pageTop2 a {
  text-decoration:none;
  color:#fff;
}

@media (max-width: 800px) {

.interviewtitle{
   margin:70px auto 0 auto;
   }

.feature {
   display: block;
   margin:20px auto;
 }

.contentsbox {
   display: block;
}

.contentsbox-text{
    width:100%;
    margin-left:0px; 
    padding: 0;
   }

.featurebox{
    width:100%;
    padding:1em;
}

.featurebox img {
   width:100%;
   }

.contentsbox img {
   width:100%;
   margin-bottom:10px;
   }

a {
  color: inherit;
  text-decoration: underline;
}

.box1 {
  margin-top: 20px;
  margin-bottom: 20px;
  }
  
.interviewbox{
    padding:1em;
}

h1 {
  line-height:1.5;
}

.pagetop {
display:none;
 }

}