@charset "UTF-8";
@import url("destyle.css");
@import url("common.css");

/* outline */

/**** sp *****/
.contents section{
  padding-bottom: 20px;
}
.contents .copy{
  margin-bottom: 30px;
  margin-bottom: 45px;
}
.contents .read{
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 42px;
}
.contents .photo_shadow{
  padding-bottom: 40px;
  margin-bottom: 40px;
}
.contents .photo_shadow img{
  max-width: calc(100% - 40px);
  box-shadow: 40px 40px 0px 0 #0277BD;
}
.contents h3{
text-align: center;
letter-spacing: 0;
margin-bottom: 20px;
}
.contents p{
  margin-bottom: 40px;
}

.contents .photo{
  margin-bottom: 20px;
}
.contents .prof{
  font-size: 1.2rem;
  line-height: 2;
}
.contents .prof .name{
  font-size: 1.6rem;
  font-weight: bold;
  display: block;
}

.contents .data {
  font-size: 1.8rem;
  line-height: 1.333;
  margin-bottom: 30px;
  margin-bottom: 60px;
}
.contents .data dt{
  font-weight: bold;
  margin-top: 1em;
}

.philosophy .grid p{
  line-height: 2;
}

/**** tbl *****/
/**** pc *****/
@media screen and (min-width: 768px) {
  .top{
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 0;
    margin-bottom: 120px;
  }
  .top h1{
    width: 100%;
  }
  .top h2{
    width: 100%;
  }
  .top .copy img{width: 100%;
  }
  .top .read{
    font-size: 18px;
  }
	.top .grid1{
    width: 664px;
    width: 60%;
    padding: 60px 90px 0 68px;
  }
	.top .grid2{
    width: 446px;
    width: 40%;
  }
  .contents .photo_shadow{
    margin-bottom: 0;
  }
  .philosophy{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .philosophy .grid{
    width: 350px;
  }
  .philosophy .grid p{
    padding: 20px;
  }

  .staff{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .staff h2{
    width: 100%;
  }
  .staff .grid{
    width: 540px;
  }

.access{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 0;
  margin-bottom: 160px;
}
.access h2{
  width: 100%;
}
.access .gmap{
  width: 540px;
  padding-top: 540px;
}




}
