@charset "utf-8";
/* ============================================
  会社案内
============================================ */

.page_header01::before {
  background-image: url(../img/kv01.jpg);
}

/* ============================================
  経営理念
============================================ */

.section-policy {
  padding-bottom: 0;
}

.section-policy .column_wrap {
  display: flex;
}

.section-policy .pic {
  width: 216px;
  margin-left: 80px;
}

.section-policy .pic figcaption {
  margin-top: 10px;
}

.section-policy .text {
  line-height: 1.5;
}

.section-policy .text+.text {
  margin: 1.5em 0;
}

.section-policy .img01 {
  display: flex;
  align-items: center;
}

.section-policy .img01 img:first-of-type {
  margin-right: 55px;
}

.policyArea {
  background: #F9F7DB;
  margin: 65px 0 0;
  padding: 35px 0 50px;
}

.policyList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.policyList_item {
  width: 298px;
}

.policyList_item .heading {
  color: #00418E;
  font-size: 2.2rem;
  text-align: center;
  border-bottom: 2px solid #040000;
  margin-bottom: 10px;
  padding-bottom: 10px;
}

.policyList_item dl {
  display: flex;
}

.policyList_item dl+dl {
  margin-top: 1.7em;
}

.policyList_item dl dt {
  flex: 0 0 auto;
  color: #DF2718;
  width: 5em;
}

.policyList_item dl dd {}

.policyList_item ul {}

.policyList_item ul li {
  text-indent: -2.20em;
  margin-left: 2.20em;
}

.policyList_item ul li+li {
  margin-top: 1.7em;
}

.policyList_item ul li::before {
  content: "一、";
}

@media(max-width:767px) {
  .section-policy .column_wrap {
    flex-direction: column;
  }
  .section-policy .column:nth-of-type(2) {
    order: 1;
  }
  .section-policy .column:nth-of-type(1) {
    order: 2;
  }
  .section-policy .pic {
    width: calc(432/750*100vw);
    margin: 0 auto;
  }
  .section-policy .pic figcaption {
    text-align: center;
    margin-top: calc(20/750*100vw);
  }
  .section-policy .text {
    text-align: justify;
  }
  .section-policy .img01 {
    flex-direction: column;
  }
  .section-policy .img01 img:first-of-type {
    margin: 0 0 calc(80/750*100vw);
  }
  .policyArea {
    margin: calc(80/750*100vw) 0 0;
    padding: calc(60/750*100vw) 0 calc(100/750*100vw);
  }
  .policyList {
    flex-direction: column;
  }
  .policyList_item {
    width: 100%;
    padding: 0 calc(30/750*100vw);
  }
  .policyList_item+.policyList_item {
    margin-top: calc(30/750*100vw);
  }
  .policyList_item .heading {
    margin-bottom: calc(20/750*100vw);
    padding-bottom: calc(20/750*100vw);
  }
}

/* ============================================
  会社概要
============================================ */

.section-profile {}

.section-profile .column_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

/* profileTable */

.profileTable {}

/* historyList */

.historyList {}

.historyList_item {
  display: flex;
}

.historyList_item .year {
  white-space: nowrap;
}

.historyList_item .year::after {
  content: "年"
}

.historyList_item .event {
  margin-left: 2em;
}

/* subContents */

.subContents {
  width: 298px;
}

.subContents_item {
  letter-spacing: 0;
}

.subContents_item+.subContents_item {
  margin-top: 50px;
}

.subContents_item dl {
  font-size: 1.4rem;
  line-height: 1.4;
}

.subContents_item dl:not(:first-of-type) {
  margin-top: 1.4em;
}

.subContents_item dl dt {
  font-weight: bold;
}

.subContents_item dl dd {}

.subContents_item ul {
  line-height: 1.4;
  margin-top: 1.4em;
}

.subContents_item ul li>span {
  display: block;
  font-size: 85.7%;
}

.subContents_item .img-column {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.subContents_item .img-column img {
  width: calc(146/298*100%);
}

@media(max-width:767px) {
  .section-profile .column_wrap {
    flex-direction: column;
  }
  /* profileTable */
  .profileTable {}
  /* subContents */
  .subContents {
    width: 100%;
    margin-top: calc(60/750*100vw);
  }
  .subContents_item+.subContents_item {
    margin-top: calc(60/750*100vw);
  }
}

/* ============================================
  アクセス
============================================ */

.section-access {}

.mapArea {
  position: relative;
  overflow: hidden;
}

.mapArea::before {
  content: "";
  display: block;
  padding-top: 511px;
}

.mapArea .map {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
  height: calc(100% + 600px);
}

.section-access .info {
  padding: 15px 0 30px;
}

@media(max-width:767px) {
  .mapArea::before {
    padding-top: 50vh;
  }
  .mapArea .map {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%;
    height: calc(100% + (600/750*100vw));
  }
  .section-access .info {
    padding: calc(30/750*100vw) 0 calc(60/750*100vw);
  }
}