@charset "utf-8";
/* ===================================================================
 File Name  : page.css
 Style Info : ページに関するスタイル指定
=================================================================== */

/*下層共通*/
.lower_lead {
  padding: 25px 0;
  background : linear-gradient(-78.89deg, rgba(0, 26, 40, 1) 0%, rgba(0, 39, 80, 1) 50%, rgba(38, 71, 106, 1) 99.88%);
}
.lower_lead_txt {
  color: #fff;
  padding: 10px 0 25px;
  line-height: 2.1;
}
.lower_lead_txt p b {
  font-size: 1.8rem;
  font-weight: 500;
}
  @media screen and (max-width: 999px) {
    .lower_lead {
      padding: 5.33vw 0;
    }
    .lower_lead_txt {
      padding: 3.33vw 0;
      line-height: 1.9;
    }
    .lower_lead_txt p b {
      font-size: 4vw;
    }
  }

.anchor_cont_inner {
  padding: 80px 0;
}
.anchor_cont_inner:nth-child(even) {
  background: #E7E7E2;
}
.anchor_cont_box {
  display: flex;
  justify-content: space-between;
}
.anchor_cont_txt {
  width: calc(100% - 205px);
}
  @media screen and (max-width: 999px) {
    .anchor_cont_inner {
      padding: 10vw 0;
    }
    .anchor_cont_box {
      display: block;
    }
    .anchor_cont_txt {
      width: 100%;
    }
  }

#lt_anchor_menu {
  padding-bottom: 10px;
}
#lt_anchor_menu li {
  position: relative;
  width: 220px;
  margin: 0 15px 20px 0;
  border-bottom: solid 1px #6694C6;
}
#lt_anchor_menu li::after {
  position: absolute;
  left: 0;
  bottom: -1px;
  content: "";
  width: 20px;
  height: 1px;
  z-index: 5;
  background: #B2CAE2;
}
#lt_anchor_menu li a {
  display: block;
  text-decoration: none;
  color: #fff;
  padding-bottom: 2px;
  font-size: 1.6rem;
}
#lt_anchor_menu li a:hover {
  opacity: 0.7;
}
  @media screen and (max-width: 999px) {
    #lt_anchor_menu {
      padding-bottom: 6vw;
    }
    #lt_anchor_menu ul {  
      justify-content: space-between;
    }
    #lt_anchor_menu li {
      width: calc(50% - 2.33vw);
      margin: 0 0 4vw 0;
    }
    #lt_anchor_menu li::after {
      width: 5.33vw;
    }
    #lt_anchor_menu li a {
      padding-bottom: 0.33vw;
      font-size: 3.2vw;
    }
  }

.img_gallery_box {
  text-decoration: none;
  color: #323232!important;
  padding: 50px 4%;
  margin-bottom: 20px;
  background: #E2E1DA;
}
.img_gallery_box figure {
  overflow: hidden;
  width: 46%;
  max-width: 494px;
  height: 100%;
}
.img_gallery_box figure img {
  width: 100%;
  height: auto;
  transition: all 0.4s ease-in-out 0s;
}
.img_gallery_box:hover figure img {
  opacity: 1!important;
  transform: scale(1.08);
}
.img_gallery_txt {
  width: 51%;
  max-width: 535px;
}
.img_gallery_txt h3 span {
  display: block;
  font-size: 2.2rem;
  margin-bottom: 5px;
  padding-left: 2.2rem;
  text-indent: -2.2rem;
}
.img_gallery_txt h3 small {
  display: block;
  font-weight: 600;
  font-size: 1.4rem;
  margin-bottom: 15px;
}
.img_gallery_txt p {
  margin-bottom: 20px;
}
.img_gallery_txt p:last-child {
  margin-bottom: 0;
}
.anchor_cont_box .img_gallery_box {
  max-width: 1000px;
  background: #DBDAD1;
}
.anchor_cont_box .img_gallery_txt h3 span {
  font-size: 1.7rem;
}
.anchor_cont_box .img_gallery_txt h3 small {
  font-size: 1.3rem;
  margin-bottom: 10px;
}
.anchor_cont_box .img_gallery_box figure {
  width: 48%;
  max-width: 430px;
}
.anchor_cont_box .img_gallery_txt {
  width: 49%;
  max-width: 440px;
}
.anchor_cont_box .img_gallery_txt p {
  margin-bottom: 15px;
}
  @media screen and (max-width: 999px) {
    .img_gallery_box {
      padding: 6.66vw;
      margin-bottom: 2.66vw;
    }
    .img_gallery_box figure {
      width: 100%!important;
      max-width: 100%!important;
      height: auto;
      margin-bottom: 5.33vw;
    }
    .img_gallery_box:hover figure img {
      transform: scale(1);
    }
    .img_gallery_txt {
      width: 100%!important;
      max-width: 100%!important;
    }
    .img_gallery_txt h3 {
      line-height: 1.3; 
    }
    .img_gallery_txt h3 span {
      font-size: 4.26vw!important;
      margin-bottom: 1.33vw;
      padding-left: 4.26vw;
      text-indent: -4.26vw;
    }
    .img_gallery_txt h3 small {
      font-size: 3.46vw!important;
      margin-bottom: 4vw!important;
    }
    .img_gallery_txt p {
      font-size: 3.46vw;
      margin-bottom: 4vw!important;
    }
    .img_gallery_txt .btn03 {
      text-align: right;
    }
  }

/*----------------------------------------------------
  业务内容 - index
--------------------------------------------------- */
.index_service_list {
  max-width: 1120px;
  margin: 0 auto;
  padding-top: 50px;
}
.index_service_box {
  margin-bottom: 80px;
}
.index_service_box figure {
  width: 48%;
  max-width: 530px;
}
.index_service_box figure img {
  width: 100%;
  height: 267px;
  object-fit: cover;
}
.index_service_txt {
  width: 49%;
  max-width: 545px;
}
.index_service_txt h2 {
  display: flex;
  justify-content: space-between;
  color: #004DA0;
  line-height: 0.85;
  margin-bottom: 25px;
}
.index_service_txt h2 b {
  display: block;
  font-size: 8rem;
  font-weight: 500;
  width: 58px;
}
.index_service_txt h2 > span {
  display: flex;
  align-items: center;
  line-height: 1.4;
  font-size: 2.4rem;
  width: calc(100% - 58px);
  border-left: solid 1px #80A6CF;
  padding-left: 30px;
  letter-spacing: 0.08em;
}
.index_service_txt p {
  letter-spacing: 0.01em;
  line-height: 1.9;
  text-align:justify;
}
  @media screen and (max-width: 999px) {
    .index_service_list {
      max-width: 100%;
      padding-top: 10vw;
    }
    .index_service_box {
      margin-bottom: 10vw;
    }
    .index_service_box figure {
      width: 100%;
      max-width: 100%;
    }
    .index_service_box figure img {
      height: auto;
    }
    .index_service_txt {
      width: 100%;
      max-width: 100%;
      margin-bottom: 5.33vw;
    }
    .index_service_txt h2 {
      margin-bottom: 3.73vw;
    }
    .index_service_txt h2 b {
      font-size: 17vw;
      width: 12.8vw;
      line-height: 0.7;
    }
    .index_service_txt h2 > span {
      line-height: 1.3;
      font-size: 4.8vw;
      width: calc(100% - 12.8vw);
      padding-left: 4vw;
    }
    .index_service_txt p {
      letter-spacing: 0.03em;
      line-height: 1.8;
      text-align: inherit;
    }
  }

/*----------------------------------------------------
  海外业务 - business
--------------------------------------------------- */
#activity_coordinate01 .anchor_cont_box {
  margin-bottom: 80px;
}
#activity_coordinate01 .anchor_cont_box:last-child {
  margin-bottom: 0;
}
#activity_coordinate02 .anchor_cont_lead {
  margin-bottom: 40px;
}
#activity_coordinate02 .sub_ttl02 {
  line-height: 1.8;
}
#activity_coordinate02 .sub_ttl02.active::after {
  display: none;
}
.clinic_box {
  background: #F4F4F1;
  margin-bottom: 20px;
  padding: 30px 5%;
}
.clinic_box figure {
  width: 46.5%;
  max-width: 400px;
}
.clinic_box figure img {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
.clinic_txt {
  width: 50.5%;
  max-width: 430px;
  padding-top: 20px;
}
.clinic_txt h3 {
  position: relative;
  font-size: 2rem;
  padding-left: 20px;
  margin-bottom: 15px;
  letter-spacing: 0.06em;
  color: #004DA0;
}
.clinic_txt h3::after {
  position: absolute;
  left: 0;
  top: 8px;
  content: "";
  width: 14px;
  height: 14px;
  background: #004DA0;
}
.clinic_txt ul {
  padding-left: 20px;
  line-height: 2;
}
.clinic_txt li {
  position: relative;
  padding-left: 12px;
}
.clinic_txt li::after {
  position: absolute;
  left: 0;
  top: 14px;
  content: "";
  width: 3px;
  height: 3px;
  background: #323232;
  border-radius: 50%;
}
  @media screen and (max-width: 999px) {
    #activity_coordinate01 .anchor_cont_box {
      margin-bottom: 9.33vw;
    }
    #activity_coordinate01 .anchor_cont_box:last-child {
      margin-bottom: 0;
    }
    #activity_coordinate02 .anchor_cont_lead {
      margin-bottom: 9.33vw;
    }
    #activity_coordinate02 .sub_ttl02 {
      padding-bottom: 0;
    }
    .clinic_box {
      margin-bottom: 2.66vw;
      padding: 0;
    }
    .clinic_box figure {
      width: 100%;
      max-width: 100%;
    }
    .clinic_box figure img {
      height: auto;
    }
    .clinic_txt {
      width: 100%;
      max-width: 100%;
      padding: 5.33vw 6.66vw;
    }
    .clinic_txt h3 {
      font-size: 4.26vw;
      padding-left: 5.33vw;
      margin-bottom: 2.66vw;
      letter-spacing: 0.03em;
      line-height: 1.3;
    }
    .clinic_txt h3::after {
      top: 1.13vw;
      width: 3.2vw;
      height: 3.2vw;
    }
    .clinic_txt ul {
      padding-left: 6.66vw;
      line-height: 1.7;
    }
    .clinic_txt li {
      padding-left: 2.66vw;
      font-size: 3.2vw;
      letter-spacing: 0.03em;
    }
    .clinic_txt li::after {
      top: 2.33vw;
      width: 1vw;
      height: 1vw;
      border-radius: 1vw;
    }
    .activity_coordinate01_box figure {
      margin-left: -4vw;
      margin-right: -4vw;
    }
    .clinic_note {
      padding-top: 2.66vw;
      line-height: 1.5;
    }
  }

.activity_coordinate_txt {
  margin-bottom: 30px;
}
  @media screen and (max-width: 999px) {
    .activity_coordinate_txt {
      max-width: 100%;
      margin-bottom: 5.33vw;
    }
  }

.activity_flow_box {
  background: #F4F4F1;
  padding: 40px 10% 70px;
}
.activity_flow_box .sub_ttl04 {
  margin-bottom: 35px;
}
  @media screen and (max-width: 999px) {
    .activity_flow_box {
      padding: 6.66vw;
    }
    .activity_flow_box .sub_ttl04 {
      margin-bottom: 5.33vw;
    }
  }

.flow01_box h4 {
  border-top: solid 1px #989898;
  font-feature-settings: "palt";
  margin-bottom: 18px;
  font-size: 1.5rem;
  letter-spacing: 0.08em;
}
.flow01_box h4 span {
  position: relative;
  background: #F4F4F1;
  z-index: 5;
  top: -5px;
  padding: 0 20px 0 0;
}
.flow01_step_wrap {
  position: relative;
  padding-bottom: 20px;
}
.flow01_step_wrap::after {
  position: absolute;
  left: 35px;
  top: 5px;
  content: "";
  width: 1px;
  height: calc(100% - 20px);
  background: #004DA0;
  z-index: 2;
}
.flow01_step_wrap::before {
  position: absolute;
  left: 31px;
  bottom: 13px;
  content: "";
  background: url("../img/common/ico/ico_flow_arrow.svg") center bottom no-repeat;
  background-size: 9px auto;
  width: 9px;
  height: 9px;
}
.flow01_step_box {
  position: relative;
  z-index: 10;
  padding-left: 75px;
  padding-bottom: 30px;
}
.flow01_step_box figure {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 5;
}
.flow01_step_box figure img {
  transform: translateZ(0);
  filter: drop-shadow(0 0 8px rgba(0,0,0,0.25));
}
.flow01_step_box dl {
  display: flex;
}
.flow01_step_box dt {
  text-align: center;
  line-height: 1.1;
  color: #004DA0;
  border-right: solid 1px #80A6CF;
  width: 80px;
  padding-top: 10px;
}
.flow01_step_box dt small {
  display: block;
  font-size: 1.3rem;
}
.flow01_step_box dt span {
  display: block;
  font-size: 4.1rem;
}
.flow01_step_box dd {
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: calc(100% - 80px);
  padding:  0 0 0 20px;
}
.flow01_step_box dd h5 {
  font-size: 1.6rem;
  margin-bottom: 7px;
  color: #004DA0;
  line-height: 1.3;
}
.flow01_step_box dd p {
  font-size: 1.3rem;
  line-height: 1.7;
}
  @media screen and (max-width: 999px) {
    .flow01_box h4 {
      margin-bottom: 2.66vw;
    }
    .flow01_box h4 span {
      font-size: 3.73vw;
      top: -2.33vw;
      padding: 0 2.33vw 0 0;
      letter-spacing: 0.03em;
    }
    .flow01_step_wrap {
      padding-bottom: 0;
    }
    .flow01_step_wrap::after {
      left: 7.33vw;
      top: 1.33vw;
      height: calc(100% - 7.5vw);
    }
    .flow01_step_wrap::before {
      left: 6.15vw;
      bottom: 5.5vw;
      background: url("../img/common/ico/ico_flow_arrow.svg") center bottom no-repeat;
      background-size: 2.5vw auto;
      width: 2.5vw;
      height: 2.5vw;
    }
    .flow01_step_box {
      padding-left: 17.6vw;
      padding-bottom: 4.4vw;
    }
    .flow01_step_box figure {
      width: 14.93vw;
    }
    .flow01_step_box figure img {
      display: block;
      width: 100%;
      height: auto;
    }
    .flow01_step_box dl {
      display: block;
    }
    .flow01_step_box dt {
      display: inline-block;
      width: auto;
      padding-top: 0;
      border: none;
      margin-bottom: 0.66vw;
    }
    .flow01_step_box dt small {
      font-size: 2.93vw;
    }
    .flow01_step_box dt span {
      font-size: 8.8vw;
    }
    .flow01_step_box dd {
      width: 100%;
      padding:  0;
    }
    .flow01_step_box dd h5 {
      font-size: 4vw;
      margin-bottom: 2.13vw;
      letter-spacing: 0.02em;
    }
    .flow01_step_box dd p {
      font-size: 3.2vw;
      line-height: 1.6;
    }
  }

.flow01_box:last-child .flow01_step_wrap:last-child {
  padding-bottom: 0;
}
.flow01_box:last-child .flow01_step_wrap:last-child::before {
  display: none;
}
.flow01_box:last-child .flow01_step_box:last-child {
  padding-bottom: 0;
}
  @media screen and (max-width: 999px) {
    .flow01_box:last-child .flow01_step_wrap::after {
      height: calc(100% - 2.33vw);
    }
  }

.activity_coordinate02_box {
  background: #E0DFD8;
  padding: 40px 6% 60px;
}
.activity_coordinate02_box .sub_ttl03 {
  margin-bottom: 20px;
}
.activity_coordinate02_ex dl {
  position: relative;
  width: calc(25% - 15px);
  margin: 0 20px 0 0;
  background: #F4F4F1;
}
.activity_coordinate02_ex dl:last-child {
  margin-right: 0;
}
.activity_coordinate02_ex dt {
  width: 39.3%;
  max-width: 80px;
}
.activity_coordinate02_ex dt img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.activity_coordinate02_ex dd {
  width: 60.7%;
  max-width: calc(100% - 80px);
  display: flex;
  align-items: center;
  font-size: min(1.2vw,1.3rem);
  padding: 5%;
  line-height: 1.6;
}
.activity_coordinate02_etc::after {
  position: absolute;
  right: 0;
  bottom: -27px;
  font-size: 1.3rem;
  content: "等";
}
  @media screen and (max-width: 999px) {
    .activity_coordinate02_box {
      padding: 6.66vw 6.66vw 9.33vw 6.66vw;
    }
    .activity_coordinate02_box .sub_ttl03 {
      margin-bottom: 5.33vw;
    }
    .activity_coordinate02_ex dl {
      width: 100%;
      margin: 0 0 2.66vw 0;
    }
    .activity_coordinate02_ex dt {
      width: 21.33vw;
      max-width: 21.33vw;
    }
    .activity_coordinate02_ex dd {
      width: calc(100% - 21.33vw);
      max-width: calc(100% - 21.33vw);
      font-size: 3.46vw;
      padding: 2.66vw;
      line-height: 1.5;
    }
    .activity_coordinate02_etc::after {
      bottom: -7vw;
      font-size: 3.46vw;
    }
  }

/*----------------------------------------------------
  关于我们 - profile
--------------------------------------------------- */
#vision_overview_info {
  padding: 80px 0;
}
#vision_overview_info .btn03 {
  margin-top: 5px;
}
  @media screen and (max-width: 999px) {
    #vision_overview_info {
      padding: 10vw 0;
    }
    #vision_overview_info .btn03 {
      margin-top: 2vw;
    }
  }
