.nav_general a::after {
  display: inline-block;
}

.general main .section_top {
  position: relative;
}

.general main .section_top h2 {
  margin-bottom: 24px;
  font-size: 20px;
}

.general main .section_top h2 + p {
  margin-bottom: 36px;
  padding: 12px 8px 12px;
  border-radius: 4px;
  background-color: #EFECEA;
}

.general main .bottomline::after {
  background-color: #333333;
}

.general main img {
  width: 100%;
  height: auto;
}

.general main .bg_color {
  padding: 80px 0;
  background-color: #EFECEA;
}

.general main .bg_color h2 {
  margin-bottom: 30px;
}

.general main .bg_color p {
  margin-bottom: 50px;
}

.general main .pseudo_table {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  overflow: hidden;
}

.general main .pseudo_table dl {
  width: calc((100% - 18%) / 6);
  border-left: 1px dashed #707070;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
}

.general main .pseudo_table dl:nth-child(1) {
  width: 18%;
  border-left: none;
}

.general main .pseudo_table dl:nth-child(1) dd {
  font-weight: bold;
  font-size: 18px;
}

.general main .pseudo_table dl:hover {
  background-color: rgba(44, 64, 131, 0.1);
}

.general main .pseudo_table dl dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 48px;
  border-bottom: 1px solid #707070;
  font-weight: bold;
  font-size: 18px;
}

.general main .pseudo_table dl dd {
  position: relative;
  height: 110px;
  padding: 18px 10px 18px;
  border-bottom: 1px solid #707070;
}

.general main .pseudo_table dl dd p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  z-index: 1;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 10px;
}

.general main .pseudo_table dl dd p:hover {
  color: #2C4083;
  cursor: pointer;
}

.general main .pseudo_table dl dd p span {
  width: calc(100% - 40px);
}

.general main .pseudo_table dl dd p::before {
  display: inline-block;
  width: 30px;
  height: 30px;
  margin-right: 10px;
  background-size: 100% 100%;
  content: "";
}

.general main .pseudo_table dl dd::before {
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.general main .pseudo_table dl dd:hover::before {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 100vw;
  height: 110px;
  background-color: rgba(44, 64, 131, 0.1);
  content: "";
  pointer-events: none;
}

.general main .pseudo_table dl .pop_kamei::before {
  background-image: url(../img/staff/img_kamei.png);
}

.general main .pseudo_table dl .pop_kazuko::before {
  background-image: url(../img/staff/img_kazuko.png);
}

.general main .pseudo_table dl .pop_ishida::before {
  background-image: url(../img/staff/img_ishida.png);
}

.general main .pseudo_table dl .pop_kazuaki::before {
  background-image: url(../img/staff/img_kazuaki.png);
}

.general main .cont03 {
  padding-top: 80px;
  padding-bottom: 60px;
}

.general main .cont03 p {
  line-height: 2;
}

.general main .cont03 .general_contact_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-bottom: 50px;
}

.general main .cont03 .general_contact_area div {
  position: relative;
  width: 49%;
  max-width: 460px;
  margin-top: 70px;
  padding: 40px 36px 26px;
  border: 1px solid #A29B96;
  border-radius: 4px;
  text-align: center;
}

.general main .cont03 .general_contact_area div::before {
  display: block;
  position: absolute;
  top: -30px;
  right: 0;
  left: 0;
  width: 57px;
  height: 57px;
  margin: auto;
  background-size: 100% 100%;
  background-repeat: no-repeat;
  content: "";
}

.general main .cont03 .general_contact_area .tel_area a {
  display: inline-block;
  margin-bottom: 10px;
  color: #333333;
  font-weight: bold;
  font-size: 37px;
}

.general main .cont03 .general_contact_area .tel_area a + p {
  font-weight: bold;
  font-size: 18px;
}

.general main .cont03 .general_contact_area .tel_area::before {
  background-image: url(../img/general/ico_tel.png);
}

.general main .cont03 .general_contact_area .mail_area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.general main .cont03 .general_contact_area .mail_area::before {
  background-image: url(../img/general/ico_mail.png);
}

.general main .cont03 .general_contact_area .mail_area p {
  width: 100%;
  margin-bottom: 10px;
  font-weight: bold;
  font-size: 20px;
}

.general main .cont03 .general_contact_area .mail_area .link_btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 220px;
  height: 37px;
  margin: auto;
  border-radius: 4px;
  background-color: #2C4083;
  color: #fff;
  font-weight: normal;
  font-size: 16px;
}

.general main .cont03 .general_contact_area .mail_area .link_btn a::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 17px;
  height: 17px;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cg fill='none' stroke='%23ffffff'%3E%3Ccircle cx='7' cy='7' r='7' stroke='none'/%3E%3Ccircle cx='7' cy='7' r='6.5'/%3E%3C/g%3E%3Cpath fill='%23ffffff' d='m6.184 10.025-.622-.622 2.327-2.327-2.326-2.325.622-.622 2.948 2.948Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  content: "";
}

.general main .cont03 ul {
  margin-top: 30px;
}

.general main .cont03 li {
  position: relative;
  min-height: 30px;
  margin-bottom: 20px;
  padding-left: 40px;
}

.general main .cont04 div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 50px;
}

.general main .cont04 div img {
  border-radius: 4px;
}

.general main .cont04 div dl {
  width: calc(100% - 320px);
  max-width: 620px;
}

.general main .cont04 div dl dt {
  margin-bottom: 20px;
  font-weight: bold;
  font-size: 18px;
}

.general main .cont04 div dl dd {
  padding-bottom: 60px;
  line-height: 2;
}

.general main .cont04 div figure {
  max-width: 300px;
}

.general main .cont04 div figure figcaption {
  margin-top: 4px;
  font-size: 14px;
  text-align: center;
}

.general main .cont04 div .link_btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 298px;
  height: 37px;
  margin: 16px auto 0 0;
  border: 1px solid #2C4083;
  border-radius: 4px;
  color: #2C4083;
  font-weight: normal;
  font-size: 16px;
}

.general main .cont04 div .link_btn::before {
  display: inline-block;
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  width: 17px;
  height: 17px;
  margin: auto;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cg fill='none' stroke='%232C4083'%3E%3Ccircle cx='7' cy='7' r='7' stroke='none'/%3E%3Ccircle cx='7' cy='7' r='6.5'/%3E%3C/g%3E%3Cpath fill='%232C4083' d='m6.184 10.025-.622-.622 2.327-2.327-2.326-2.325.622-.622 2.948 2.948Z'/%3E%3C/svg%3E");
  background-size: 100% 100%;
  content: "";
}

.general main .cont05 {
  padding-top: 80px;
}

.general main .cont05 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.general main .cont05 li {
  width: 49%;
  max-width: 460px;
  margin-top: 30px;
}

.general main .cont05 li:nth-child(n+3) {
  width: 32%;
  max-width: 300px;
}

.general main .cont05 img {
  border-radius: 4px;
}

.general main .cont05 figcaption {
  margin-top: 4px;
  font-weight: 300;
  font-size: 18px;
}

@media screen and (max-width: 970px) {
  .general main .pseudo_table dl {
    width: calc((100% - 14%) / 6);
  }
  .general main .pseudo_table dl:nth-child(1) {
    width: 14%;
    border-left: none;
  }
  .general main .pseudo_table dl:nth-child(1) dd {
    font-size: 1.8vw;
  }
  .general main .pseudo_table dl dd {
    padding: 2vw 1vw;
    font-size: 1.5vw;
  }
  .general main .pseudo_table dl dd p::before {
    width: 3.2vw;
    height: 3.2vw;
    margin-right: 1vw;
  }
}

@media screen and (max-width: 768px) {
  .general main .pseudo_table {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .general main .pseudo_table dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 90px;
    border-left: none;
  }
  .general main .pseudo_table dl:nth-child(1) {
    width: 100%;
    height: auto;
  }
  .general main .pseudo_table dl:nth-child(1) dd {
    padding: 0 2vw 2vw;
    font-size: 18px;
  }
  .general main .pseudo_table dl:hover {
    background: none;
  }
  .general main .pseudo_table dl dt {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: 10%;
    height: 100%;
    border-bottom: 1px dashed #707070;
  }
  .general main .pseudo_table dl dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 45%;
    height: 100%;
    padding: 2vw;
    border-bottom: 1px dashed #707070;
    border-left: 1px solid #707070;
    font-size: 16px;
  }
  .general main .pseudo_table dl dd p {
    width: 100%;
    margin-bottom: 0;
  }
  .general main .pseudo_table dl dd p::before {
    width: 30px;
    height: 30px;
    margin-right: 1vw;
  }
  .general main .pseudo_table dl dd:hover::before {
    display: none;
  }
  .general main .cont03 .general_contact_area div {
    width: 100%;
    max-width: none;
    margin-top: 50px;
    padding: 40px 20px 26px;
  }
  .general main .cont03 .general_contact_area .tel_area a + p {
    line-height: 1.6;
  }
  .general main .cont04 div dl {
    width: 100%;
    max-width: none;
  }
  .general main .cont04 div dl dd {
    padding-bottom: 0;
  }
  .general main .cont04 div figure {
    width: 100%;
    max-width: none;
    margin-top: 20px;
  }
  .general main .cont04 div .link_btn {
    position: relative;
  }
  .general main .cont05 li {
    width: 100%;
    max-width: none;
  }
  .general main .cont05 li:nth-child(n+3) {
    width: 48.5%;
    max-width: none;
  }
}

/*# sourceMappingURL=maps/general.css.map */
