@charset "UTF-8";
/* ==========================================================================//
//
// 会社概要
//
// ========================================================================== */
/* 共通
---------------------------------------------------------- */
main {
  overflow: hidden;
}

section:not(:first-of-type) {
  margin-top: 40px;
}
@media all and (min-width: 751px) {
  section:not(:first-of-type) {
    margin-top: 80px;
  }
}

/* 会社概要,役員
---------------------------------------------------------- */
@media all and (min-width: 751px) {
  .sec_aboutus {
    margin-top: 80px;
  }
}
@media all and (min-width: 751px) {
  .sec_aboutus .bg_contents {
    padding: 27px 30px 50px;
    background-color: #fff;
    -webkit-box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
            box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
    width: min(840px, 100%);
    margin-inline: auto;
  }
}
.sec_aboutus .aboutus_list {
  margin-top: 45px;
  margin-inline: auto;
}
@media all and (min-width: 751px) {
  .sec_aboutus .aboutus_list {
    margin-top: 40px;
    width: min(720px, 100%);
  }
}
.sec_aboutus .aboutus_list .aboutus_detail {
  padding: 14px 0 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  color: #595757;
  letter-spacing: 0.075em;
}
@media all and (min-width: 751px) {
  .sec_aboutus .aboutus_list .aboutus_detail {
    padding: 20px 0;
  }
}
.sec_aboutus .aboutus_list .aboutus_detail::before, .sec_aboutus .aboutus_list .aboutus_detail::after {
  position: absolute;
  content: "";
  background: -webkit-gradient(linear, right top, left top, from(#D6D5D5), color-stop(86.8%, #D6D5D5), color-stop(13.1%, #296800), to(#296800));
  background: linear-gradient(to left, #D6D5D5 0%, #D6D5D5 86.8%, #296800 13.1%, #296800 100%);
  width: 100%;
  height: 1px;
  left: 0;
}
@media all and (min-width: 751px) {
  .sec_aboutus .aboutus_list .aboutus_detail::before, .sec_aboutus .aboutus_list .aboutus_detail::after {
    background: -webkit-gradient(linear, right top, left top, from(#D6D5D5), color-stop(84.02%, #D6D5D5), color-stop(15.9%, #296800), to(#296800));
    background: linear-gradient(to left, #D6D5D5 0%, #D6D5D5 84.02%, #296800 15.9%, #296800 100%);
  }
}
.sec_aboutus .aboutus_list .aboutus_detail::after {
  bottom: 0;
}
.sec_aboutus .aboutus_list .aboutus_detail:not(:first-child)::before {
  display: none;
}
.sec_aboutus .aboutus_list .aboutus_detail:first-child::before {
  top: 0;
}
.sec_aboutus .aboutus_list .aboutus_detail .contents {
  font-weight: 500;
  width: 13.1%;
}
@media all and (min-width: 751px) {
  .sec_aboutus .aboutus_list .aboutus_detail .contents {
    width: 15.9%;
  }
}
.sec_aboutus .aboutus_list .aboutus_detail .detail {
  padding-left: 13px;
  width: 86.8%;
  line-height: 1.61;
}
@media all and (min-width: 751px) {
  .sec_aboutus .aboutus_list .aboutus_detail .detail {
    padding-left: 12px;
    width: 84.02%;
    line-height: 1.81;
  }
}
.sec_aboutus .aboutus_list .aboutus_detail .detail a {
  background-image: -webkit-gradient(linear, left top, right top, from(#222222), to(#222222));
  background-image: linear-gradient(90deg, #222222, #222222);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: 0 1px;
  -webkit-transition: background-size 0.4s;
  transition: background-size 0.4s;
}
@media (hover: hover) {
  .sec_aboutus .aboutus_list .aboutus_detail .detail a:hover {
    background-size: 100% 1px;
    background-position: left bottom;
  }
}

/* アクセス
---------------------------------------------------------- */
.sec_access {
  padding: 20px 0 50px;
  background-color: rgba(237, 237, 237, 0.5);
}
@media all and (min-width: 751px) {
  .sec_access {
    padding: 80px 0 150px;
  }
}
.sec_access .access_list {
  margin-top: 25px;
}
@media all and (min-width: 751px) {
  .sec_access .access_list {
    margin-top: 40px;
  }
}
.sec_access .access_list .access_detail {
  color: #595757;
  letter-spacing: 0.075em;
  text-align: center;
}
@media all and (min-width: 751px) {
  .sec_access .access_list .access_detail {
    font-size: 18px;
  }
}
.sec_access .access_list .access_detail:not(:first-child) {
  margin-top: 20px;
}
@media all and (min-width: 751px) {
  .sec_access .access_list .access_detail:not(:first-child) {
    margin-top: 40px;
  }
}
.sec_access .access_list .access_detail .contents {
  margin-bottom: 10px;
  font-weight: bold;
}
@media all and (min-width: 751px) {
  .sec_access .access_list .access_detail .contents {
    margin-bottom: 5px;
  }
}
.sec_access .access_list .access_detail .detail {
  line-height: 1.6;
}
.sec_access .map {
  margin-top: 27px;
}
@media all and (min-width: 751px) {
  .sec_access .map {
    margin-top: 40px;
    width: min(840px, 100%);
    margin-inline: auto;
  }
}
.sec_access .map iframe {
  height: 243px;
}
@media all and (min-width: 751px) {
  .sec_access .map iframe {
    height: 490px;
  }
}

/* 組織図
---------------------------------------------------------- */
.officer .aboutus_list .aboutus_detail {
  padding: 14px 0 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  color: #595757;
  letter-spacing: 0.075em;
}
@media all and (min-width: 751px) {
  .officer .aboutus_list .aboutus_detail {
    padding: 20px 0;
  }
}
@media screen and (min-width: 751px) and (max-width: 810px) {
  .officer .aboutus_list .aboutus_detail::before, .officer .aboutus_list .aboutus_detail::after {
    background: -webkit-gradient(linear, right top, left top, from(#D6D5D5), color-stop(82.6%, #D6D5D5), color-stop(17.4%, #296800), to(#296800));
    background: linear-gradient(to left, #D6D5D5 0%, #D6D5D5 82.6%, #296800 17.4%, #296800 100%);
  }
}
@media screen and (min-width: 751px) and (max-width: 810px) {
  .officer .aboutus_list .aboutus_detail .contents {
    width: 17.4%;
  }
}
@media all and (min-width: 751px) {
  .officer .aboutus_list .aboutus_detail .detail {
    width: 82.6%;
  }
}

/* 組織図
---------------------------------------------------------- */
.sec_charts {
  margin: 40px 0 60px;
}
@media all and (min-width: 751px) {
  .sec_charts {
    margin: 40px 0 130px;
  }
}
.sec_charts .image {
  margin-top: 40px;
  margin-inline: auto;
  width: min(596px, 100%);
}
@media all and (min-width: 751px) {
  .sec_charts .image {
    margin-top: 80px;
  }
}