@charset "UTF-8";

/* philo */
.philo {
  width: 90%;
  margin: 60px auto 0 auto;
}
.philo-title {
  font-size: 3.2em;
  line-height: 50px;
}
.philo-txt {
  font-size: 1.5em;
  line-height: 30px;
  margin: 25px 0 0 0;
}
/* .line {
  display: block;
  overflow: hidden;
} */
.philo-img {
  width: 100%;
  margin: 100px 0 0 0;
} 

/* about */
.about-inner {
  width: 90%;
  margin: 60px auto 0 auto;
}
.about-title {
  font-size: 3.2em;
  line-height: 50px;
}
.about-txt {
  font-size: 1.5em;
  line-height: 30px;
  margin: 25px 0 0 0;
}
.location-ul {
  width: 100%;
} 
.location-ul li {
  background-color: #fefdfd;
  box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.03);
  border-radius: 0 0 30px 0;
  margin: 30px 0 0 0;
  padding: 30px 30px 30px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.location-ul li:first-child {
  margin: 60px 0 0 0;
}
.location-l {
  width: 50%;
  padding-left: 20px;
}
.location-r {
  width: 45%;
  margin: 0;
}
.location-r img {
  border-radius: 0 0 30px 0;
}
.location-title {
  font-size: 1.8em;
  font-weight: 500;
  border-left: 3px solid #3e4297;
  padding: 3px 0 4px 10px;
}
.location-txt-1 {
  font-size: 1.5em;
  line-height: 28px;
  margin: 20px 0 0 14px;
}
.location-txt-2 {
  font-size: 1.5em;
  line-height: 28px;
  margin: 10px 0 0 14px;
}
.location-link {
  font-size: 1.5em;
  line-height: 28px;
  margin: 20px 0 0 14px;
  display: inline-block;
}
.location-link a {
  font-weight: 500;
  border-bottom: 1px solid #3e4297;
  padding: 0 4px 2px 0;
  display: flex;
  align-items: center;
}
.pin {
  width: 12px;
}
.overview {
  box-sizing: border-box;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.ov-l {
  box-sizing: border-box;
  width: 49%;
  background-color: #fefdfd;
  box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.03);
  border-radius: 0 0 30px 0;
  margin: 60px 0 0 0;
  padding: 40px 50px 25px 50px;
}
.ov-r {
  box-sizing: border-box;
  width: 49%;
  background-color: #fefdfd;
  box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.03);
  border-radius: 0 0 30px 0;
  margin: 60px 0 0 2%;
  padding: 40px 50px 25px 50px;
}
.ov-logo {
  width: 90%;
  max-width: 460px;
  margin: 0 auto 30px auto;
}
.ov-txt-wrap {
  display: flex;
}
.ov-txt-l {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 28px;
  border-top: 1px solid #e4e4f3;
  width: 20%;
  padding: 20px 10px;
}
.ov-txt-r {
  font-size: 1.5em;
  line-height: 28px;
  border-top: 1px solid #e4e4f3;
  width: 80%;
  padding: 20px 10px;
}
.ov-title-sub {
  font-size: 1.5em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}
.about-um {
  padding: 0;
}
.um {
  background-color: #fefdfd;
  box-shadow: 6px 6px 10px 0px rgba(0,0,0,0.03);
  border-radius: 0 0 30px 0;
  margin: 60px 0 0 0;
  padding: 30px 30px 30px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.um-l {
  width: 50%;
  padding-left: 20px;
}
.um-r {
  width: 45%;
  margin: 0;
}
.um-r img {
  border-radius: 0 0 30px 0;
}
.um-logo {
  width: 80%;
  max-width: 280px;
  margin: 0 0 25px 0;
}
.um-txt-wrap {
  display: flex;
}
.um-txt-l {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 28px;
  border-top: 1px solid #e4e4f3;
  width: 20%;
  padding: 20px 10px;
}
.um-txt-r {
  font-size: 1.5em;
  line-height: 28px;
  border-top: 1px solid #e4e4f3;
  width: 80%;
  padding: 20px 10px;
}
.um-txt-r a {
  font-weight: 500;
  border-bottom: 1px solid #3e4297;
  padding: 0 4px 2px 0;
  display: inline-flex;
  align-items: center;
}
.um-title-sub {
  font-size: 1.5em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 20px;
}

/* contact */
.contact {
  width: 100%;
  margin: 150px 0 0 0;
}
.contact-inner {
  box-sizing: border-box;
  width: 90%;
  background-color: #f8f8fc;
  margin: 0 auto;
  padding: 50px;
}
.contact-title-en {
  font-size: 2em;
  letter-spacing: 0.05em;
  text-align: center;
  color: #3e4297;
}
.contact-txt {
  font-size: 1.5em;
  line-height: 30px;
  text-align: center;
  margin: 30px 0 0 0;
}
.contact-link {
  font-size: 1.6em;
  text-align: center;
  margin: 30px 0 0 0;
}
.contact-link a {
  letter-spacing: 0.02em;
  border-radius: 30px;
  padding: 18px 28px 19px 28px;
}

@media screen and (max-width: 1024px) {
  /* about */
  .about-inner {
    width: 90%;
    margin: 60px auto 0 auto;
  }
  .about-title {
    font-size: 3.2em;
    line-height: 50px;
  }
  .about-txt {
    font-size: 1.5em;
    line-height: 30px;
    margin: 25px 0 0 0;
  }
  .location-ul li {
    padding: 35px 30px 30px 30px;
    display: block;
  }
  .location-ul li:first-child {
    margin: 60px 0 0 0;
  }
  .location-l {
    width: 100%;
    padding-left: 0;
  }
  .location-r {
    width: 100%;
    margin: 40px 0 0 0;
  }
  .overview {
    display: block;
  }
  .ov-l {
    width: 100%;
    margin: 60px 0 0 0;
  }
  .ov-r {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .ov-c {
    width: 100%;
    margin: 30px 0 0 0;
  }
  .um {
    padding: 35px 30px 30px 30px;
    display: block;
  }
  .um-l {
    width: 100%;
    padding-left: 0;
  }
  .um-r {
    width: 100%;
    margin: 20px 0 0 0;
  }
  .um-logo {
    width: 80%;
    max-width: 300px;
    margin: 0 auto 25px auto;
  }
}

@media screen and (max-width: 767px) {
  /* philo */
  .philo {
    margin: 50px auto 0 auto;
  }
  .philo-title {
    font-size: 2.6em;
    line-height: 44px;
  }
  .philo-txt {
    font-size: 1.3em;
    line-height: 25px;
    margin: 25px 0 0x 0;
  }
  .philo-img {
    margin: 50px 0 0 0;
  } 
  /* about */
  .about-inner {
    margin: 50px auto 0 auto;
  }
  .about-title {
    font-size: 2.6em;
    line-height: 44px;
  }
  .about-txt {
    font-size: 1.3em;
    line-height: 25px;
    margin: 25px 0 0x 0;
  }
  .location-ul li {
    margin: 30px 0 0 0;
    padding: 25px 20px 20px 20px;
  }
  .location-ul li:first-child {
    margin: 50px 0 0 0;
  }
  .location-r {
    margin: 30px 0 0 0;
  }
  .location-title {
    font-size: 1.5em;
  }
  .location-txt-1 {
    font-size: 1.2em;
    line-height: 22px;
  }
  .location-txt-2 {
    font-size: 1.2em;
    line-height: 22px;
  }
  .location-link {
    font-size: 1.2em;
    line-height: 22px;
    margin: 15px 0 0 14px;
  }
  .ov-l {
    margin: 50px 0 0 0;
    padding: 30px 20px 10px 20px;
  }
  .ov-r {
    padding: 30px 20px 10px 20px;
  }
  .ov-c {
    padding: 30px 20px 10px 20px;
  }
  .ov-logo {
    width: 96%;
    margin: 0 auto 30px auto;
  }
  .ov-txt-l {
    font-size: 1.2em;
    line-height: 22px;
  }
  .ov-txt-r {
    font-size: 1.2em;
    line-height: 22px;
  }
  .ov-title-sub {
    font-size: 1.4em;
    margin-bottom: 25px;
  }
  .about-um {
    padding: 30px 0 0 0;
  }
  .um {
    padding: 25px 20px 20px 20px;
  }
  .um-logo {
    margin: 0 auto 25px auto;
  }
  .um-r {
    margin: 10px 0 0 0;
  }
  .um-txt-l {
    font-size: 1.2em;
    line-height: 22px;
  }
  .um-txt-r {
    font-size: 1.2em;
    line-height: 22px;
  }
  /* contact */
  .contact {
    margin: 100px 0 0 0;
  }
  .contact-inner {
    padding: 50px 20px;
  }
  .contact-title-en {
    font-size: 1.8em;
  }
  .contact-txt {
    font-size: 1.2em;
    line-height: 26px;
  }
  .contact-link {
    font-size: 1.3em;
    margin: 25px 0 0 0;
  }
  .contact-link a {
    padding: 15px 28px 16px 28px;
  }
}
