/*-----------
sub-ttl
------------*/
.sub-ttl {
  background: url("../img/pc-hero.jpg") no-repeat center/cover;
}

@media screen and (max-width: 767px) {
  .sub-ttl {
    background: url("../img/sp-hero.jpg") no-repeat center/cover;
  }
}

/*-----------
wrapper
------------*/
.wrapper {
  background-color: #f6f6f6;
}

.main section [class$="-ttl"] {
  font-size: 33px;
  line-height: 1.07895;
  letter-spacing: 0.02em;
  font-weight: 300;
  padding-bottom: 70px;
}

@media screen and (max-width: 767px) {
  .main section [class$="-ttl"] {
    padding: 30px 0;
    font-size: clamp(12.8px, 4vw, 30px);
    line-height: 1.36667;
  }
  .main [class$="-text"] {
    font-size: clamp(12.8px, 4vw, 30px);
  }
}

/*-----------
summary
------------*/
.summary {
  padding: 150px 24px 0;
}

.summary dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
}

.summary dt,
.summary dd {
  border: 1px solid #cccccc;
  padding: 10px 12px;
  line-height: 1.875;
}

.summary dt {
  font-weight: bold;
  width: 130px;
}

.summary dd {
  background-color: #fff;
  width: calc(100% - 130px);
}

@media screen and (max-width: 767px) {
  .main dd[class$="-text"] {
    font-size: clamp(8.53333px, 2.66667vw, 20px);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
  .summary {
    padding: 0;
  }
  .summary dt {
    font-size: clamp(8.53333px, 2.66667vw, 20px);
    width: 17.33333vw;
    max-width: 130px;
    padding: 10px 5px;
  }
  .summary dd {
    padding: 4px 10px;
    line-height: 1.8;
    max-width: 590px;
    width: 78.66667vw;
  }
}

/*-----------
philosophy
------------*/
.philosophy {
  margin: 150px 0 80px;
}

.philosophy-text {
  text-align: center;
}

@media screen and (max-width: 767px) {
  .philosophy {
    margin: 50px 0 0;
  }
  .main .philosophy [class$="-text"] {
    font-size: clamp(7.5px, 3.2vw, 24px);
    text-align: initial;
  }
}

/*-----------
map
------------*/
.map {
  padding-bottom: 340px;
}

.map .g-map {
  position: relative;
  height: 420px;
}

.map iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767px) {
  .map {
    padding-bottom: 80px;
  }
  .map .g-map {
    position: relative;
    height: 46.66667vw;
    max-width: 600px;
    width: 80vw;
    margin: 0 auto;
  }
}
/*# sourceMappingURL=style.css.map */