  @charset "utf-8";

.lowerpage > h2.categorytit {
  background-image: url("/e/corp/images/bg_title.jpg");
  color: #fff;
}
.lowerpage .concept .conceptcopy p {
  line-height: 1.2;
}
.lowerpage .concept .conceptcopy p.xlarge {
  letter-spacing: .2em;
}
.lowerpage .concept .conceptcopy p.large {
  letter-spacing: .03em;
}
.lowerpage .flexbox.directors .table_d tr > th {
  width: 30%;
}
.lowerpage .flexbox.directors .table_d tr > td {
  width: 70%;
}
.lowerpage .facilities > div {
  text-align: center;
  background: #eaedf9;
}
.flexbox.data1 > div:nth-child(2) {
  text-align: center;
}
.flexbox.data2 > div:nth-child(2) .table_d tr > th {
  width: 30%;
}
.flexbox.data2 > div .table_d tr > td.txt_right {
  width: 20%;
}
.lowerpage .data hr {
  margin-top: 2.5em;
  margin-bottom: 2.5em;
}
.floatbox.social figure {
  max-width: 240px;
}


/*-----------------------------------------------
  for Smartphone
-----------------------------------------------*/
@media only screen and (max-width: 640px) {
  .lowerpage .concept .conceptcopy p.xlarge {
    font-size: 4.2rem;
  }
  .lowerpage .concept .conceptcopy p.large {
    font-size: 1.5rem;;
  }
  .lowerpage .facilities > div {
    padding: 1em 3%;
  }
  .floatbox.social > .f_right figure {
    display: block;
    margin-left: auto;
    margin-right: auto;
  }
  
  
}


/*-----------------------------------------------
  for Tablet & PC
-----------------------------------------------*/
@media only screen and (min-width: 641px), print {
  .lowerpage .concept .conceptcopy p.xlarge {
    font-size: calc(4.0rem + ((1vw - 0.3rem) * 2.7778));
  }
  .lowerpage .concept .conceptcopy p.large {
    font-size: calc(1.6rem + ((1vw - 0.3rem) * 0.7778));
  }
  .lowerpage .flexbox.directors {
    justify-content: space-between;
  }
  .lowerpage .flexbox.directors > section {
    flex-basis: 48%;
    margin-top: 0;
  }
  .lowerpage .facilities > h3,
  .lowerpage .facilities > p.txt_right {
    text-align: center;
  }
  .lowerpage .facilities > div {
    padding: 2em 0;
  }
  .lowerpage .data .flexbox {
    justify-content: space-between;
  }
  .flexbox.data1 > div:nth-child(1) {
    width: 80%;
    padding-right: 3%;
  }
  .flexbox.data1 > div:nth-child(2) {
    width: 20%;
    padding-top: 1em;
  }
  .flexbox.data2 > div:nth-child(1) {
    width: 15%;
    padding-right: 3%;
  }
  .flexbox.data2 > div:nth-child(2) {
    width: 85%;
  }
  .floatbox.social > .f_right {
    text-align: right;
  }
  .floatbox.social > .f_right figure {
    display: inline-block;
  }
  .floatbox.social > .f_right figcaption {
    text-align: left;
  }
  
  
  
}