@charset "utf-8";
/* top
----------------------------------------- */
#main{
}

#main > section{
  width: 95%;
  margin: 0 auto 100px auto;
}
#mainVisual {
  width: 100%;
  height: 200px;
  margin-bottom: 30px;
  margin-left: auto;
  margin-right: auto;
}
#mainVisual img{
  width: 100%;
  margin-top: 58px;
}

.w100{
  width: 100%;
}

.project-start{
  
}
.project-start > section{
  margin-top: 50px;
}
.project-start h3{
/*  writing-mode: vertical-rl;*/
  font-family: "vdl-yotag", sans-serif;
/*  text-align: left;*/
  font-size: 24px;
  font-weight: bold;
  color: #00A29A;
  letter-spacing: 5px;
  line-height: 35px;
/*  width: 15%;*/
/*  float: left;*/
}
.project-start p{
  font-size: 15px;
  text-align: left;
  letter-spacing: 3px;
  color: #000000; 
  margin: 10px 0px 0px 5%;
}

#sdgs section {
  margin-bottom: 60px;
  position: relative;
  outline: 1px solid #FFFFFF;
  margin: 0 auto 100px auto;
}
#sdgs section.last {
  margin-bottom: 0;
}
#sdgs section h3 {
  background-color: #F9F9F9cc;
  padding: 0 10px;
  font-size: 24px;
  letter-spacing: 10px;
}
#sdgs section img {
  width: 100%;
  height: 250px;
  margin: 0 auto;
  object-fit: cover;
/*
  outline: 1px solid #FFFFFF;
  outline-offset: -10px;
*/
}

.alignLeft{
  text-align: left!important;
}
.clmImg{
  width: 50%;
  margin: 0 0 0 20%;
}
.ttl2{
  font-size: 16px;
  letter-spacing: 3px;
}

.btmmargin{
  margin-bottom: 50px;
}

.kougo section{
  margin: 30px 0 50px 0;
}

.kougo section img{
  width: 50%;
  margin-left: 20%;
  
}
.kougo section p{
  font-size: 16px;
  width: 90%;
  margin: 0 auto;
}


/* お客様の声SP */
#koe {
  margin: 0 auto;
}
#koe section {
  margin-bottom: 60px;
}
#koe section.last {
  margin-bottom: 0px;
}
#koe h3.ttl {
  color: #00A29A;
}
#koe section p.ttl {
  margin-bottom: 30px;
  line-height: 35px;
  font-size: 16px;
  letter-spacing: 1px;
  color: #FFFFFF;
  padding-bottom: 10px;
}
#koe p span {
  border-bottom: dashed 2px #FFFFFF55;
  padding-bottom: 6px;
}
/* 吹き出し */
.balloon-2-top {
  position: relative;
  display: inline-block;
  padding-top: 7px;
  padding-right: 15px;
  padding-left: 15px;
  padding-bottom: 7px;
  width: auto;
  color: #F6F6F6;
  line-height: 40px;
  text-align: left;
  background: #00A29A;
  z-index: 0;
  border-radius: 10px;
}
/* 三角マーク */
.balloon-2-top:after {
  content: "";
  position: absolute;
  top: -10px;
  left: 50%;
  margin-left: -10px;
  display: block;
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 10px 10px 10px;
  border-color: transparent transparent #00A29A transparent;
}
#koe img {
  width: 50%;
  margin: 0 auto;
  display: block;
  border-radius: 50%;
}

.schedule table{
  width: 100%;
  border-collapse: collapse;
}
.schedule table tr{
  border-bottom: 1px dashed #A8A8A8;
}
.schedule table tr:hover{
  background-color: #f8f8f8;
  transition: all .3s;
  cursor: pointer;
}
.schedule table th{
  font-size: 13px;
  color: #00A29A;
  width: 150px;
}

.schedule table th,
.schedule table td{
  padding: 10px 0
}
.schedule table td{
  position: relative;
  letter-spacing: 2px;
}
.schedule table td:after{
  content: '>';
  position: absolute;
  right: 20px;
}

#gallery section{
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 100px auto;
}
#gallery section img{
  flex-grow: 1;
  object-fit: cover;
  height: 200px;
  max-width: 400px;
  margin: 0.2rem;
  border-radius: 4px;
}

#newsList {
  list-style-type: none;
  padding: 10px;
  margin: 0 0 20px;
}
#newsList li {
  width: 100%;
  border-bottom: dashed 1px #ccc;
  font-size: 16px;
}
#newsList li a{
  position: relative;
  display: block;
  height: 100%;
  padding: 10px 0;
}
#newsList li a:hover{
  background-color: #eee;
  transition: all .3s;
}
#newsList li a:after{
  content: '>';
  position: absolute;
  right: 20px;
  color: #aaa;
  font-size: 14px;
}
/*日付*/
#newsList li span:first-of-type{
  display: inline-block;
  font-size: 14px;
  width: 100px;
  color: #00A29A;
  margin-right: 30px;
}


/* PC向けレイアウトの指定：961px～ */
@media only screen and (min-width: 760px) {
  #main{
    width: 100%;
  }
  #main section{
    width: 90%;
    max-width: 1200px;
  }
  #mainVisual {
    width: 100%;
    max-width: 1200px;
    height: 70vh;
    margin-top: 8px;
    max-height: 720px;
    margin-bottom: -300px;
  }
  
  #sdgs {
    max-width: 920px;
    margin: 0 auto 100px auto;
  }
  #sdgs section {
    float: left;
    height: auto;
  }
  #sdgs section:nth-of-type(2n) {
    margin-right: 0;
  }
  #sdgs section h3 {
  position: absolute;
    top: 15px;
    left: 15px;
    font-size: 24px;
  }
  .schedule table{
    max-width: 720px;
    margin: 0 auto;
  }
  .schedule table th{
    width: 200px;
  }

  .clmImg{
    width: 30%;
    float: left;
    margin: 0 20px 50px 0;
  }

  
  .kougo section{
    margin: 30px 0 50px 0;
  }
  .kougo section img{
    width: 30%;
    margin: 0;
  }
  .kougo section p{
    width: 70%;
/*    margin: 20px 0 50px 0;*/
  }

  .kougo section:nth-child(even) img{
    float: left;
  }
  .kougo section:nth-child(odd) img{
    float: right
  }

  #koe {
    width: 90%;
    max-width: 920px;
    margin: 0 auto 100px auto;
  }
  #koe section {
    float: left;
    width: 45%;
    height: auto;
    margin-right: 5%;
  }
  #koe section:last-child {
    margin-right: 0px;
  }
  #gallery section img{
    height: 300px;
  }
  .br-sp {
    display: none; 
  }
}
/* PC向け */