@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 #0082cd;
  border-radius: 10px;
}
.contents h3 {
  text-align: center;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.contents p {
  margin-bottom: 40px;
}

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

.contents .access .texts {
  margin-bottom: 60px;
}
.contents .data {
  font-size: 1.8rem;
  line-height: 1.333;
  margin-bottom: 30px;
}
.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 {
    padding: 0;
    margin-bottom: 100px;
  }
  .access h2 {
    width: 100%;
  }
  .access .layout {
    display: flex;
    justify-content: space-between;
    gap: 50px;
  }
  .access .layout{
    width: 100%;
  }
  .access .layout .img {
    width: calc((540 / 1110) * 100%);
  }
  .contents .access .texts {
    margin-bottom: 0;
  }
  .contents .access .data{
    margin-bottom: 60px;
  }
  /*
.access .gmap{
  width: 540px;
  padding-top: 540px;
}*/
}
