@charset "UTF-8";
:root {
  --key-color: #1374b4;
  --linear: cubic-bezier(0.250, 0.250, 0.750, 0.750);
  --ease: cubic-bezier(0.250, 0.100, 0.250, 1.000);
  --ease-in: cubic-bezier(0.420, 0.000, 1.000, 1.000);
  --ease-out: cubic-bezier(0.000, 0.000, 0.580, 1.000);
  --ease-in-out: cubic-bezier(0.420, 0.000, 0.580, 1.000);
  --easeInQuad: cubic-bezier(0.550, 0.085, 0.680, 0.530);
  --easeInCubic: cubic-bezier(0.550, 0.055, 0.675, 0.190);
  --easeInQuart: cubic-bezier(0.895, 0.030, 0.685, 0.220);
  --easeInQuint: cubic-bezier(0.755, 0.050, 0.855, 0.060);
  --easeInSine: cubic-bezier(0.470, 0.000, 0.745, 0.715);
  --easeInExpo: cubic-bezier(0.950, 0.050, 0.795, 0.035);
  --easeInCirc: cubic-bezier(0.600, 0.040, 0.980, 0.335);
  --easeInBack: cubic-bezier(0.600, -0.280, 0.735, 0.045);
  --easeOutQuad: cubic-bezier(0.250, 0.460, 0.450, 0.940);
  --easeOutCubic: cubic-bezier(0.215, 0.610, 0.355, 1.000);
  --easeOutQuart: cubic-bezier(0.165, 0.840, 0.440, 1.000);
  --easeOutQuint: cubic-bezier(0.230, 1.000, 0.320, 1.000);
  --easeOutSine: cubic-bezier(0.390, 0.575, 0.565, 1.000);
  --easeOutExpo: cubic-bezier(0.190, 1.000, 0.220, 1.000);
  --easeOutCirc: cubic-bezier(0.075, 0.820, 0.165, 1.000);
  --easeOutBack: cubic-bezier(0.175, 0.885, 0.320, 1.275);
  --easeInOutQuad: cubic-bezier(0.455, 0.030, 0.515, 0.955);
  --easeInOutCubic: cubic-bezier(0.645, 0.045, 0.355, 1.000);
  --easeInOutQuart: cubic-bezier(0.770, 0.000, 0.275, 1.000);
  --easeInOutQuint: cubic-bezier(0.860, 0.000, 0.070, 1.000);
  --easeInOutSine: cubic-bezier(0.445, 0.050, 0.550, 0.950);
  --easeInOutExpo: cubic-bezier(1.000, 0.000, 0.000, 1.000);
  --easeInOutCirc: cubic-bezier(0.785, 0.135, 0.150, 0.860);
  --easeInOutBack: cubic-bezier(0.680, -0.550, 0.265, 1.550);
  --easeBuruBuru: cubic-bezier(0.42, 0, 0.58, 1);
}

/* ============================================================================

　page_company

=============================================================================== */
/* ----------------------------------------------------------------------------
　page_ttl
---------------------------------------------------------------------------- */
main.page_company section.page_ttl {
  background: url("/img/company/page_ttl_bg.jpg") center center no-repeat;
  background-size: auto 100%;
}
@media screen and (max-width: 743px) {
  main.page_company section.page_ttl {
    background: url("/img/company/page_ttl_bg_sp.jpg") center center no-repeat;
    background-size: 100% auto;
    height: 300px;
  }
}
main.page_company section.page_ttl .summary {
  color: #fff;
  width: 50%;
}
@media screen and (max-width: 743px) {
  main.page_company section.page_ttl .summary {
    width: 100%;
  }
}

main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　bnr_message
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container .bnr_message {
  margin-bottom: 5rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container .bnr_message {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　overview
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container section.overview {
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.overview .overview-lead {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 8rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview-lead {
    font-size: 1.8rem;
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.overview .overview__chart {
  width: 94.0909090909%;
  margin: 0 auto 15rem;
  position: relative;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__chart {
    margin-bottom: 5rem;
    width: 100%;
  }
}
main.page_company .common_container section.overview .overview__chart .link_service {
  width: 40.9661835749%;
  aspect-ratio: 1;
  position: absolute;
  top: 2.7%;
  left: -2.7%;
  z-index: 2;
}
main.page_company .common_container section.overview .overview__chart .link_service:hover::before {
  opacity: 0;
}
main.page_company .common_container section.overview .overview__chart .link_service:hover::after {
  opacity: 1;
}
main.page_company .common_container section.overview .overview__chart .link_service::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url("/img/company/overview_chart_link_service.png") 0 0 no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.4s var(--easeOutSine);
  transition: 0.4s var(--easeOutSine);
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__chart .link_service::before {
    background-image: url("/img/company/overview_chart_link_service_sp.png");
  }
}
main.page_company .common_container section.overview .overview__chart .link_service::after {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url("/img/company/overview_chart_link_service_hover.png") 0 0 no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.4s var(--easeOutSine);
  transition: 0.4s var(--easeOutSine);
  opacity: 0;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__chart .link_service::after {
    background-image: url("/img/company/overview_chart_link_service_hover_sp.png");
  }
}
main.page_company .common_container section.overview .overview__chart .link_advantage {
  width: 40.9661835749%;
  aspect-ratio: 1;
  position: absolute;
  top: 2.7%;
  right: -2.7%;
  z-index: 2;
}
main.page_company .common_container section.overview .overview__chart .link_advantage:hover::before {
  opacity: 0;
}
main.page_company .common_container section.overview .overview__chart .link_advantage:hover::after {
  opacity: 1;
}
main.page_company .common_container section.overview .overview__chart .link_advantage::before {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url("/img/company/overview_chart_link_advantage.png") 0 0 no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.4s var(--easeOutSine);
  transition: 0.4s var(--easeOutSine);
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__chart .link_advantage::before {
    background-image: url("/img/company/overview_chart_link_advantage_sp.png");
  }
}
main.page_company .common_container section.overview .overview__chart .link_advantage::after {
  content: "";
  position: absolute;
  top: 0rem;
  left: 0rem;
  width: 100%;
  height: 100%;
  z-index: 2;
  background: url("/img/company/overview_chart_link_advantage_hover.png") 0 0 no-repeat;
  background-size: 100% auto;
  -webkit-transition: 0.4s var(--easeOutSine);
  transition: 0.4s var(--easeOutSine);
  opacity: 0;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__chart .link_advantage::after {
    background-image: url("/img/company/overview_chart_link_advantage_hover_sp.png");
  }
}
main.page_company .common_container section.overview .overview__keyword:not(:last-child) {
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__keyword:not(:last-child) {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.overview .overview__keyword h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 2rem;
  border-bottom: 1px solid var(--key-color);
  margin-bottom: 2rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__keyword h3 {
    display: block;
    padding-bottom: 0.5rem;
  }
}
main.page_company .common_container section.overview .overview__keyword h3 .label {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 295px;
          flex: 0 0 295px;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__keyword h3 .label {
    display: block;
    width: 60%;
    margin-bottom: 1.5rem;
  }
}
main.page_company .common_container section.overview .overview__keyword h3 .txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  font-size: 2.8rem;
  font-weight: 400;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.overview .overview__keyword h3 .txt {
    font-size: 2.2rem;
  }
}
main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　philosophy
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container section.philosophy:not(:last-child) {
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.philosophy:not(:last-child) {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.philosophy .philosophy-lead {
  font-size: 1.9rem;
  color: var(--key-color);
  font-weight: 700;
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.philosophy .philosophy-lead {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.philosophy .management_behavioral {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.philosophy .management_behavioral {
    display: block;
  }
}
main.page_company .common_container section.philosophy .management_behavioral section {
  width: 100%;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.philosophy .management_behavioral section:not(:last-child) {
    margin-bottom: 3rem;
  }
}
main.page_company .common_container section.philosophy .management_behavioral section .section_list li:not(:last-child) {
  margin-bottom: 0.5rem;
}
main.page_company .common_container section.philosophy .management_behavioral section .section_list li {
  font-weight: 700;
}
main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　company_info
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container section.company_info:not(:last-child) {
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.company_info:not(:last-child) {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.company_info .bold {
  line-height: 150%;
  font-weight: 700;
  margin-bottom: 10rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.company_info .bold {
    margin-bottom: 5rem;
  }
}
main.page_company .common_container section.company_info #company_info_outline {
  width: 75%;
  margin: 0 auto;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.company_info #company_info_outline {
    width: 100%;
  }
}
main.page_company .common_container section.company_info #company_info_outline dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #b5b5b6;
  border-bottom: 1px solid #b5b5b6;
  margin-top: -1px;
  font-size: 1.5rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.company_info #company_info_outline dl {
    display: block;
  }
  main.page_company .common_container section.company_info #company_info_outline dl:not(:last-child) {
    padding-bottom: 2rem;
  }
}
main.page_company .common_container section.company_info #company_info_outline dl dt {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 215px;
          flex: 0 0 215px;
  background-color: #F3F8FB;
  padding: 1rem;
}
main.page_company .common_container section.company_info #company_info_outline dl dd {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 1rem;
}
main.page_company .common_container section.company_info #company_info_outline dl dd .map-link {
  position: relative;
  text-decoration: none;
  padding: 0 0 0 1.5rem;
}
main.page_company .common_container section.company_info #company_info_outline dl dd .map-link::before {
  content: "";
  position: absolute;
  top: 0.8rem;
  left: 0rem;
  width: 8px;
  aspect-ratio: 1;
  background-color: var(--key-color);
  clip-path: polygon(100% 50%, 0 0, 1% 100%);
}
main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　link_btn_company
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container .link_btn_company {
  background-color: #f9f9f9;
  padding: 1.7rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 12rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container .link_btn_company {
    display: block;
  }
}
main.page_company .common_container .link_btn_company li {
  width: 100%;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container .link_btn_company li:not(:last-child) {
    margin-bottom: 1.5rem;
  }
}
main.page_company .common_container .link_btn_company li a {
  display: block;
  text-align: center;
  color: #fff;
  background-color: var(--key-color);
  text-decoration: none;
  padding: 1.5rem 0;
  font-weight: 700;
}
main.page_company .common_container {
  /* ----------------------------------------------------------------------------
  　massage
  ---------------------------------------------------------------------------- */
}
main.page_company .common_container section.massage .head_type_C {
  margin-bottom: 5rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .head_type_C {
    margin-bottom: 3rem;
  }
}
main.page_company .common_container section.massage .massage__inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 5rem;
  width: 90%;
  margin: 0 auto;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .massage__inner {
    display: block;
    width: 100%;
  }
}
main.page_company .common_container section.massage .massage__inner .copy {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .massage__inner .copy {
    margin-bottom: 2rem;
  }
}
main.page_company .common_container section.massage .massage__inner .copy p:not(:last-child) {
  margin-bottom: 1.5rem;
}
main.page_company .common_container section.massage .massage__inner .photo-block {
  width: 300px;
}
@media screen and (max-width: 999px) {
  main.page_company .common_container section.massage .massage__inner .photo-block {
    width: 250px;
  }
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .massage__inner .photo-block {
    width: 100%;
    margin: 0 auto;
  }
}
main.page_company .common_container section.massage .massage__inner .photo-block .photo {
  margin-bottom: 2rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .massage__inner .photo-block .photo {
    width: 70%;
    margin: 0 auto 2rem;
  }
}
main.page_company .common_container section.massage .massage__inner .photo-block .president-name {
  text-align: center;
}
main.page_company .common_container section.massage .massage__inner .photo-block .president-name .position {
  margin-bottom: 2rem;
}
main.page_company .common_container section.massage .massage__inner .photo-block .president-name .name {
  font-family: "Yomogi", cursive;
  font-size: 2.8rem;
}
@media screen and (max-width: 743px) {
  main.page_company .common_container section.massage .massage__inner .photo-block .president-name .name {
    font-size: 2.4rem;
  }
}