@charset "UTF-8";
/* -------------------------------------------------------
   company
------------------------------------------------------- */
/* -------------------------------------------------------
   変数 ,mixinの先読み
------------------------------------------------------- */
/* -------------------------------------------------------
   mixin
------------------------------------------------------- */
.company {
  max-width: 1920px;
  overflow: hidden;
}
.company .topImage {
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .company .topImage img {
    display: block;
    width: 200%;
  }
}
.company .companyTitle {
  margin-top: 59px;
  font: normal normal bold 40px/110px "Noto Sans JP", sans-serif;
  color: #171717;
  text-align: center;
  letter-spacing: 3.2px;
}
@media screen and (max-width: 1000px) {
  .company .companyTitle {
    margin-top: 30px;
  }
}
@media screen and (max-width: 768px) {
  .company .companyTitle {
    margin-top: 31px;
    font: normal normal bold 24px/36px "Noto Sans JP", sans-serif;
    letter-spacing: 1.92px;
  }
}
.company .ceo {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 86px;
}
@media screen and (max-width: 1000px) {
  .company .ceo {
    min-width: 850px;
    margin-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo {
    display: block;
    min-width: unset;
    margin-top: 20px;
  }
}
.company .ceo .img {
  margin-left: 30px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .company .ceo .img {
    width: 100%;
    margin-left: 0;
  }
}
.company .ceo .img img {
  width: 100%;
}
@media screen and (max-width: 1000px) {
  .company .ceo .img img {
    padding-top: 40px;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo .img img {
    padding-top: 0;
    -o-object-position: 11vw 0;
       object-position: 11vw 0;
  }
}
.company .ceo .detail {
  width: 678px;
  margin-left: 260px;
}
@media screen and (max-width: 1500px) {
  .company .ceo .detail {
    margin-left: 30px;
  }
}
@media screen and (max-width: 1000px) {
  .company .ceo .detail {
    margin-left: 20px;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo .detail {
    width: 95%;
    padding: 0 5%;
    margin-top: 26px;
    margin-left: 10px;
  }
}
.company .ceo .detail .title {
  font: normal normal bold 40px/56px "Noto Sans JP", sans-serif;
  letter-spacing: 2.56px;
  white-space: pre-line;
}
@media screen and (max-width: 1200px) {
  .company .ceo .detail .title {
    font-size: 26px;
    line-height: 40px;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .title {
    font: normal normal bold 24px/36px "Noto Sans JP", sans-serif;
    letter-spacing: 1.92px;
  }
}
.company .ceo .detail .title .strong {
  color: #15A19A;
}
.company .ceo .detail .description {
  margin-top: 40px;
  font: normal normal normal 18px/27px "Noto Sans JP", sans-serif;
  color: #171717;
  letter-spacing: 0.72px;
  white-space: pre-line;
}
@media screen and (max-width: 1200px) {
  .company .ceo .detail .description {
    margin-top: 10px;
    font: normal normal normal 15px/24px "Noto Sans JP", sans-serif;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .description {
    margin-top: 20px;
    font: normal normal normal 15px/24px "Noto Sans JP", sans-serif;
    letter-spacing: 0.6px;
  }
}
.company .ceo .detail .name {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-top: 30px;
}
.company .ceo .detail .name .ceoName {
  display: block;
}
.company .ceo .detail .name .ceoName-en {
  display: none;
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .name {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
@media screen and (max-width: 1000px) {
  .company .ceo .detail .name img {
    width: 250px;
  }
}
.company .ceo .detail .name .president {
  margin-right: 10px;
  margin-bottom: 10px;
  font: normal normal normal 15px/27px "Noto Sans JP", sans-serif;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .name .president {
    margin-right: 16px;
    font: normal normal normal 14px/54px "Noto Sans JP", sans-serif;
    letter-spacing: 0.56px;
  }
}
.company .ceo .detail .name .nameImg {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .name .nameImg {
    max-width: 160px;
  }
}
@media screen and (max-width: 430px) {
  .company .ceo .detail .name .nameImg {
    max-width: 110px;
  }
}
.company .ceo .detail .name .inName {
  margin-bottom: 10px;
  font: normal normal normal 45px/68px "Noto Sans JP", sans-serif;
  color: #171717;
  letter-spacing: 1.8px;
}
@media screen and (max-width: 1000px) {
  .company .ceo .detail .name .inName {
    font-size: 28px;
    line-height: 48px;
  }
}
@media screen and (max-width: 768px) {
  .company .ceo .detail .name .inName {
    font: normal normal normal 24px/54px "Noto Sans JP", sans-serif;
    letter-spacing: 0.96px;
  }
}
.company .aboutCompany {
  width: 100%;
  max-width: 1364px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .company .aboutCompany {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .company .aboutCompany {
    width: 100%;
    padding: 0 5%;
    margin-top: 3px;
  }
}
.company .aboutCompany .item {
  padding-top: 25px;
  padding-left: 52px;
  font: normal normal normal 18px/27px "Noto Sans JP", sans-serif;
  color: #171717;
  letter-spacing: 0.72px;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .item {
    display: block;
    padding-top: 18px;
    padding-left: 10px;
  }
}
.company .aboutCompany .item .label {
  width: 23%;
  margin-right: 6px;
  font-weight: bold;
  letter-spacing: 0.64px;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .item .label {
    width: 100%;
    font: normal normal bold 15px/27px "Noto Sans JP", sans-serif;
    letter-spacing: 0.6px;
  }
}
.company .aboutCompany .item .content {
  width: 77%;
  padding-left: 41px;
  white-space: pre-line;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .item .content {
    width: 100%;
    padding-left: 0;
    font: normal normal normal 15px/24px "Noto Sans JP", sans-serif;
    letter-spacing: 0.6px;
  }
}
.company .aboutCompany .item .content span {
  font-weight: bold;
}
.company .aboutCompany .item .content img {
  width: 90%;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .item .content img {
    width: 100%;
  }
}
.company .aboutCompany .border {
  padding-top: 25px;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .border {
    padding-top: 18px;
  }
}
.company .aboutCompany .border .label {
  width: 23%;
  margin-right: 5px;
  border-bottom: solid 2px #15A19A;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .border .label {
    width: 30%;
  }
}
.company .aboutCompany .border .content {
  width: 77%;
  border-bottom: solid 2px #DEDEDE;
}
@media screen and (max-width: 768px) {
  .company .aboutCompany .border .content {
    width: 70%;
  }
}
.company .aboutCompany .border .content span {
  font-weight: bold;
}
.company .aboutCompany .border .content img {
  width: 700px;
}
.company .chart {
  width: min(77%, 800px);
  height: 300px;
  padding: 0 41px;
}
@media screen and (max-width: 768px) {
  .company .chart {
    width: 100%;
    padding-left: 0;
  }
}
.company .chart canvas {
  width: 100%;
}
.company .access {
  width: 100%;
  max-width: 1364px;
  height: 600px;
  margin: 0 auto;
}
@media screen and (max-width: 1000px) {
  .company .access {
    padding: 0 10px;
  }
}
@media screen and (max-width: 768px) {
  .company .access {
    width: 100%;
    height: auto;
    padding: 0 5%;
  }
}
.company .access .accessAddress {
  font: normal normal bold 18px/27px "Noto Sans JP", sans-serif;
  color: #171717;
  letter-spacing: 0.72px;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .company .access .accessAddress {
    font: normal normal bold 15px/27px "Noto Sans JP", sans-serif;
    letter-spacing: 0.6px;
  }
}
.company .access .accessAddress img {
  margin-right: 3px;
}
.company .access .accessAddress span {
  white-space: nowrap;
}
.company .access .map {
  width: 1364px;
  width: 100%;
  height: 517px;
}
.company .access .map iframe {
  width: 100%;
}
.company .history {
  margin-top: 100px;
  margin-bottom: 100px;
  background: #ECF8F7;
}
@media screen and (max-width: 1000px) {
  .company .history {
    margin-top: 45px;
  }
}
@media screen and (max-width: 768px) {
  .company .history {
    width: 100%;
    margin-top: 45px;
    margin-bottom: 46px;
  }
}
.company .history .historyTitle {
  top: -58px;
  left: 45%;
  font: normal normal bold 40px/110px "Noto Sans JP", sans-serif;
  color: #171717;
  text-align: center;
  letter-spacing: 3.2px;
}
@media screen and (max-width: 1000px) {
  .company .history .historyTitle {
    left: 40%;
  }
}
@media screen and (max-width: 768px) {
  .company .history .historyTitle {
    top: -20px;
    left: 40%;
    font: normal normal bold 24px/36px "Noto Sans JP", sans-serif;
    letter-spacing: 1.92px;
  }
}
.company .history .historyList {
  width: 100%;
  max-width: 1364px;
  padding: 40px 0.5em;
  margin: 0 auto;
}
@media screen and (max-width: 768px) {
  .company .history .historyList {
    width: 100%;
    height: auto;
  }
}
.company .history .historyList .item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100px;
}
.company .history .historyList .item .year {
  margin-right: 64px;
  font: italic normal bold 59px/59px "Century Gothic", sans-serif;
  color: #D6D6D6;
  letter-spacing: 0;
}
@media screen and (max-width: 1000px) {
  .company .history .historyList .item .year {
    margin-right: 30px;
    font-size: 40px;
  }
}
@media screen and (max-width: 768px) {
  .company .history .historyList .item .year {
    margin-right: 10px;
    font: italic normal bold 28px/13px "Century Gothic", sans-serif;
    letter-spacing: 0;
  }
}
.company .history .historyList .item .year.active {
  color: #515151;
}
.company .history .historyList .item .bar {
  position: relative;
  width: 2px;
  min-width: 2px;
  height: 100px;
  margin-right: 64px;
  background: #171717;
}
@media screen and (max-width: 1000px) {
  .company .history .historyList .item .bar {
    margin-right: 30px;
  }
}
@media screen and (max-width: 768px) {
  .company .history .historyList .item .bar {
    margin-right: 10px;
  }
}
.company .history .historyList .item .bar::before {
  position: absolute;
  top: 45px;
  left: -4px;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  background-color: #000;
  border-radius: 50%;
}
.company .history .historyList .item .month {
  min-width: 56px;
  margin-right: 32px;
  font: normal normal bold 24px/38px "Noto Sans JP", sans-serif;
  color: #15A19A;
  letter-spacing: 0.96px;
}
@media screen and (max-width: 1000px) {
  .company .history .historyList .item .month {
    margin-right: 20px;
  }
}
@media screen and (max-width: 768px) {
  .company .history .historyList .item .month {
    margin-right: 10px;
    font: normal normal bold 18px/38px "Noto Sans JP", sans-serif;
    letter-spacing: 0.72px;
  }
}
.company .history .historyList .item .content {
  font: normal normal normal 18px/27px "Noto Sans JP", sans-serif;
  color: #171717;
  letter-spacing: 0.72px;
}
@media screen and (max-width: 768px) {
  .company .history .historyList .item .content {
    width: 60%;
    font: normal normal normal 15px/23px "Noto Sans JP", sans-serif;
    letter-spacing: 0.6px;
  }
}
@media screen and (max-width: 430px) {
  .company .history .historyList .item .content {
    font-size: 12px;
    line-height: 18px;
  }
}
.company .history .historyList .item:first-child .bar {
  height: 50px;
  margin-top: 50px;
}
.company .history .historyList .item:first-child .bar::before {
  top: 0;
}
.company .history .historyList .item:last-child .bar {
  height: 50px;
  margin-bottom: 50px;
}
.company .history .historyList .item:last-child .bar::before {
  top: 50px;
}
@media screen and (max-width: 1200px) {
  .company.en .ceo .detail .title {
    font-size: 24px;
    line-height: 30px;
  }
}
@media screen and (max-width: 768px) {
  .company.en .ceo .detail .title {
    font-size: 24px;
    line-height: 36px;
  }
}
@media screen and (max-width: 1200px) {
  .company.en .ceo .detail .description {
    font-size: 13px;
    line-height: 20px;
  }
}
@media screen and (max-width: 768px) {
  .company.en .ceo .detail .description {
    font-size: 15px;
    line-height: 24px;
  }
}
.company.en .access .accessAddress span {
  white-space: wrap;
}/*# sourceMappingURL=company.css.map */