@charset "utf-8";

/******************************************
common
******************************************/
.section-frame .section {
  padding: 15px 0;
}
@media (min-width: 768px) {
  .section-frame .section {
    padding: 25px 0;
  }
}

.section-frame .container {
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: 0;
}

@media (min-width: 768px) {
  .section-frame .container {
    max-width: 1360px;
    margin: 0 auto;
    padding: 0 20px;
  }
}

.section-frame .row {
  gap: 20px 0;
}

.service-link-panel {
  display: block;
  height: 100%;
  padding: 20px 10px 10px;
  border: 1px solid #eaeaeb;
  transition: all .3s ease-out;
}

.service-link-panel:hover {
  color: #000;
  box-shadow: 0 0 15px rgba(0,0,0,.1);
}

.service-link-panel-head {
  position: relative;
  min-height: 110px;
  padding-left: 78px;
}

.service-link-panel-head::before {
  position: absolute;
  top: 12px;
  left: 0;
  width: 68px;
  aspect-ratio: 1;
  content: "";
}

.service-link-panel-head.type01::before {
  background: url("/service/hospital/img/icon_hospital_001.png") no-repeat;
}

.service-link-panel-head.type02::before {
  background: url("/service/hospital/img/icon_hospital_002.png") no-repeat;
}

.service-link-panel-head.type03::before {
  background: url("/service/hospital/img/icon_hospital_003.png") no-repeat;
}

.service-link-panel-head.type04::before {
  background: url("/service/hospital/img/icon_hospital_004.png") no-repeat;
}

.service-link-panel-head.type05::before {
  background: url("/service/hospital/img/icon_hospital_005.png") no-repeat;
}

.service-link-panel-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.service-link-panel-tag {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 53px;
  min-height: 25px;
  margin: 0;
  padding: 0 6px;
  font-size: 13px;
  font-weight: 500;
}

.service-link-panel-tag[data-tag="hospital"] {
  background-color: #d6d2ff;
}

.service-link-panel-tag[data-tag="clinic"] {
  background-color: #b3e3de;
}

.service-link-panel-title {
  margin: 16px 0 0 0;
  font-size: 18px;
  font-weight: 700;
}

.service-link-panel-body {
  margin-top: 10px;
  padding: 10px 9px;
  border-top: 1px solid rgba(0,102,204,.2);
}

.service-link-panel-text {
  font-size: 15px;
  font-weight: 400;
}


/******************************************
detail
******************************************/
.section-frame {
  background: linear-gradient(166.79deg, #EEF7FC 11.67%, #B8D9FF 22.9%, #F5FBFF 61.52%, #C6E3FD 82.62%);
}

.section-frame.type01 {
  background: url("/common/img/img_frame_bg_001.png") no-repeat 20% 0/cover;
}
@media (min-width: 768px) {
  .section-frame.type01 {
    background-position: center top;
  }
}

.section-frame.type02 {
  background: url("/common/img/img_frame_bg_002.png") no-repeat top center/cover;
}

.section-frame.type03 {
  background: #e4eff9;
}

.section-frame-wrap {
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
}
@media (min-width: 768px) {
  .section-frame-wrap {
    max-width: 1380px;
    padding: 0 20px;
  }
}

.section {
  padding: 20px 0;
}
@media (min-width: 768px) {
  .section {
    padding: 38px 0;
  }
}

.keyvisual {
  margin: 0 auto;
}

.section.solution {
  padding: 50px 0 30px;
}
@media (min-width: 768px) {
  .section.solution {
    padding-bottom: 12px;
  }
}

.section.solution .common-title.type01 {
  margin-top: 10px;
}

.section.feature .container {
  padding: 0;
}
@media (min-width: 768px) {
  .section.feature .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.section.feature .common-block {
  padding: 20px 20px 70px;
}
@media (min-width: 768px) {
  .section.feature .common-block {
    padding-bottom: 80px;
  }
}

.section.feature .common-title.type01 {
  margin-top: 20px;
}
@media (min-width: 768px) {
  .section.feature .common-title.type01 {
    margin-top: 60px;
  }
}

.section.contact {
  margin: 20px 0 60px;
}
@media (min-width: 768px) {
  .section.contact {
    margin: 40px 0 60px;
  }
}

.section-frame .section.contact {
  margin: 0;
}

.section.contact .common-title.type01 {
  margin-top: 0;
  line-height: 1.86;
}

@media (min-width: 768px) {
  .section.contact .common-btn-wrap {
    margin-top: 60px;
  }
}

.section.business {
  padding-bottom: 40px;
}
@media (min-width: 768px) {
  .section.business {
    padding-bottom: 65px;
  }
}

.section.business .container {
  padding: 0;
}
@media (min-width: 768px) {
  .section.business .container {
    padding-right: 20px;
    padding-left: 20px;
  }
}

.section.business .common-block {
  padding-right: 20px;
  padding-left: 20px;
}
@media (min-width: 768px) {
  .section.business .common-block {
    padding-right: 50px;
    padding-left: 50px;
  }
}

.section.business .common-title.type01 {
  margin-top: 10px;
}