/* #greeting
------------------------------------ */
#greeting {
  max-width: calc(1080px + 4rem);
  padding: 0 2rem;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-areas: "hgroup hgroup" "lead lead" "message photo" "profile profile";
  gap: 1.4vw;
}
#greeting hgroup {
  grid-area: hgroup;
}
#greeting .leadType01 {
  grid-area: lead;
}
#greeting .message {
  grid-area: message;
}
#greeting .sig {
  margin-top: 3rem;
  display: flex;
  align-items: center;
}
#greeting .sig span {
  display: inline-flex;
  padding-left: 2rem;
  position: relative;
  gap: 1rem;
}
#greeting .sig span:before {
  content: "";
  display: block;
  width: clamp(1.8rem, 1.3vw, 1.8rem);
  aspect-ratio: 1;
  mask: url(/lib/img/cmn/icon_footprint.svg) no-repeat center/contain;
  background: #4AA85A;
}
#greeting .photo {
  margin-top: calc(-6rem - clamp(2rem, 1.5vw, 2.2rem));
  grid-area: photo;
}
#greeting .profile {
  grid-area: profile;
  margin: 0 2.1vw;
  padding: 4rem 4rem;
  background: #F6F3CB;
  border-radius: 20px;
  position: relative;
}
#greeting .profile:after {
  content: "";
  display: block;
  width: 95px;
  aspect-ratio: 285/146;
  position: absolute;
  left: 2rem;
  bottom: 100%;
  background: url(/lib/img/cmn/animal_ham_01_r.webp) no-repeat 0/contain;
}
#greeting .profile h3 {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: clamp(2rem, 1.7vw, 2.4rem);
  color: #4AA85A;
  margin-bottom: 3rem;
  padding-bottom: 1.5rem;
  font-weight: 500;
  background-image: repeating-linear-gradient(90deg, #4AA85A, #4AA85A 5px, transparent 3px, transparent 10px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 3px;
}
#greeting .profile h3 span {
  font-size: clamp(1.8rem, 1.4vw, 2rem);
  color: #4AA85A;
  font-weight: 400;
}
#greeting .profile dl {
  display: grid;
  grid-template-columns: 16rem 1fr;
  background: #FFF;
  border-radius: 20px;
  overflow: hidden;
}
#greeting .profile dl + dl {
  margin-top: 3rem;
}
#greeting .profile dl dt, #greeting .profile dl dd {
  padding: 2rem 2rem;
}
#greeting .profile dl dt:not(:last-of-type), #greeting .profile dl dd:not(:last-of-type) {
  border-bottom: 2px dashed #F6F3CB;
}
#greeting .profile dl dt {
  background: #FDFCEE;
  place-content: center;
}
@media screen and (max-width: 767px) {
  #greeting {
    display: block;
  }
  #greeting .photo {
    margin: 2rem 0;
  }
  #greeting .profile {
    margin-top: 6rem;
    padding: 1.5rem 2rem;
  }
  #greeting .profile h3 {
    display: grid;
    grid-template-columns: 1fr;
  }
  #greeting .profile h3 span {
    text-align: right;
  }
  #greeting .profile dl {
    display: grid;
    grid-template-columns: 1fr;
  }
  #greeting .profile dl dt, #greeting .profile dl dd {
    padding: 2rem 1rem;
  }
}

/* clinicdata
------------------------------------ */
#policy {
  background: #4AA85A url(/lib/img/cmn/bg_body.webp) repeat;
  position: relative;
  padding: calc(7.7777777778vw + 3rem) 0 0;
}
#policy:before {
  content: "";
  width: 100vw;
  aspect-ratio: 1440/112;
  position: absolute;
  right: 0;
  top: -1px;
  background: url(/lib/img/cmn/bg_wava_06.webp) no-repeat 0/100% auto;
}
#policy:after {
  content: "";
  width: 100vw;
  aspect-ratio: 4320/756;
  position: absolute;
  right: 0;
  bottom: -1px;
  display: block;
  background: url(/lib/img/about/bg_polilcy_02.webp) no-repeat 0/100% auto;
}
#policy .policy_cover {
  padding: 0 max(2rem, 50vw - 540px) 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5vw;
  position: relative;
  background: url(/lib/img/cmn/bg_block_greengrass_01.webp) repeat-y 0/100% auto;
  z-index: 3;
}
#policy .policy_cover:before {
  content: "";
  width: 100vw;
  aspect-ratio: 4317/2307;
  position: absolute;
  left: 0;
  top: 0;
  background: url(/lib/img/about/bg_polilcy_03.webp) repeat-y 0/100% auto;
  display: block;
}
#policy .policy_cover > * {
  z-index: 4;
}
@media screen and (max-width: 767px) {
  #policy {
    padding: calc(16.5333333333vw + 2rem) 0;
  }
  #policy:before {
    content: "";
    width: 100vw;
    aspect-ratio: 1125/288;
    position: absolute;
    right: 0;
    top: -1px;
    background: url(/lib/img/about/bg_polilcy_01_sp.webp) no-repeat 0/100% auto;
  }
  #policy:after {
    content: "";
    width: 100vw;
    aspect-ratio: 1125/345;
    position: absolute;
    right: 0;
    bottom: -1px;
    display: block;
    background: url(/lib/img/about/bg_polilcy_02_sp.webp) no-repeat 0/100% auto;
  }
  #policy .policy_cover {
    display: block;
    padding: 0;
    background: url(/lib/img/cmn/bg_block_greengrass_01_sp.webp) repeat-y 0/100% auto;
  }
  #policy .policy_cover::before {
    aspect-ratio: 1125/1761;
    background: url(/lib/img/about/bg_polilcy_03_sp.webp) repeat-y 0/100% auto;
  }
}

#policy {
  color: #FFFCDB;
}
#policy .detail {
  width: fit-content;
  margin: 0 auto;
  padding-bottom: 19rem;
}
#policy .detail .leadType01 {
  color: #FFFCDB;
  font-size: clamp(2.4rem, 1.8vw, 2.6rem);
  line-height: 1.4;
  margin-bottom: 4rem;
}
#policy .detail p {
  font-size: clamp(2rem, 1.4vw, 2rem);
  line-height: 1.8;
}
#policy .detail p strong {
  background: linear-gradient(transparent 85%, rgba(255, 243, 63, 0.7) 15%);
}
#policy .detail p + p {
  margin-top: 2.5rem;
}
@media screen and (max-width: 767px) {
  #policy .detail {
    padding: 0 2rem 0 2rem;
    margin-bottom: 3rem;
  }
}

/* clinicphoto
------------------------------------ */
ul.photolist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 5rem 3%;
}
ul.photolist li {
  width: 31.3%;
}
ul.photolist li.wide {
  width: 48.5%;
}
ul.photolist li p {
  position: relative;
  display: flex;
  gap: 1rem;
  align-items: center;
  font-weight: 500;
  font-size: clamp(1.6rem, 1.4vw, 2rem);
  margin-top: 1rem;
}
ul.photolist li p:before {
  content: "";
  display: block;
  height: 3px;
  width: 4.6rem;
  background-image: repeating-linear-gradient(90deg, #4AA85A, #4AA85A 5px, transparent 3px, transparent 10px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 3px;
}
@media screen and (max-width: 767px) {
  ul.photolist {
    gap: 3rem 3%;
  }
  ul.photolist li {
    width: 48.5%;
  }
  ul.photolist li p {
    gap: 0.5rem;
  }
  ul.photolist li p:before {
    content: "";
    display: block;
    height: 3px;
    width: 3rem;
    background-image: repeating-linear-gradient(90deg, #4AA85A, #4AA85A 5px, transparent 3px, transparent 10px);
    background-position: left top;
    background-repeat: repeat-x;
    background-size: 100% 3px;
  }
}

#clinicphoto ul {
  padding: 8rem max(2rem, 50vw - 540px);
}
#clinicphoto .pickup {
  background: #E8F3F1 url(/lib/img/cmn/bg_mizuiro.webp) repeat;
  position: relative;
}
#clinicphoto .pickup:before {
  content: "";
  width: 100vw;
  aspect-ratio: 4320/225;
  position: absolute;
  right: 0;
  top: -1px;
  background: url(/lib/img/cmn/bg_wava_04.webp) no-repeat 0/100% auto;
}
#clinicphoto .pickup:after {
  content: "";
  width: 100vw;
  aspect-ratio: 4320/225;
  position: absolute;
  right: 0;
  bottom: -1px;
  display: block;
  background: url(/lib/img/cmn/bg_wava_04.webp) no-repeat 0/100% auto;
  transform: rotate(180deg);
}
#clinicphoto .pickup .pickup_inner {
  padding: 5.2083333333vw 0;
  background: url(/lib/img/cmn/bg_cloud_01.webp) repeat-y top/100% auto;
  position: relative;
}
#clinicphoto .pickup .pickup_inner:before {
  content: "";
  width: 114px;
  aspect-ratio: 114/131;
  position: absolute;
  bottom: 0;
  left: 4rem;
  background: url(/lib/img/cmn/animal_cat_01_r.webp) no-repeat center/contain;
  z-index: 5;
}
#clinicphoto .pickup .pickup_inner:after {
  content: "";
  width: 214px;
  aspect-ratio: 214/83;
  position: absolute;
  right: 4rem;
  bottom: 4rem;
  display: block;
  background: url(/lib/img/about/bg_pickup.webp) no-repeat center/contain;
  z-index: 5;
}
#clinicphoto .pickup .topiclist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6%;
}
#clinicphoto .pickup .topiclist li {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 2;
  gap: 1rem;
}
#clinicphoto .pickup .topiclist p.cap {
  display: flex;
  place-content: center;
  place-items: center;
  color: #4AA85A;
  text-align: center;
  margin-bottom: 1rem;
  gap: 1rem;
}
#clinicphoto .pickup .topiclist p.cap:before, #clinicphoto .pickup .topiclist p.cap:after {
  content: "";
  display: block;
  height: 3rem;
  width: 2px;
  background: #4AA85A;
  transform: rotate(-15deg);
}
#clinicphoto .pickup .topiclist p.cap:after {
  transform: rotate(15deg);
}
@media screen and (max-width: 767px) {
  #clinicphoto ul {
    padding: 3rem 2rem;
  }
  #clinicphoto .pickup {
    position: relative;
    padding: 5.2083333333vw 0;
  }
  #clinicphoto .pickup:before {
    aspect-ratio: 1125/114;
    background: url(/lib/img/cmn/bg_wava_04_sp.webp) no-repeat 0/100% auto;
  }
  #clinicphoto .pickup:after {
    content: "";
    aspect-ratio: 1125/114;
    background: url(/lib/img/cmn/bg_wava_04_sp.webp) no-repeat 0/100% auto;
    transform: rotate(180deg);
  }
  #clinicphoto .pickup .pickup_inner {
    background: none;
  }
  #clinicphoto .pickup .pickup_inner:before {
    display: none;
  }
  #clinicphoto .pickup .pickup_inner:after {
    width: 169px;
    right: 1rem;
    bottom: 0;
  }
  #clinicphoto .pickup .topiclist {
    padding: 3rem 2rem;
    display: block;
    grid-template-columns: 1fr;
  }
  #clinicphoto .pickup .topiclist li {
    width: 100%;
    margin-bottom: 3rem;
  }
}

/* clinicphoto
------------------------------------ */
#equipment {
  padding: 5rem 0 0;
}
#equipment ul {
  padding: 8rem max(2rem, 50vw - 540px);
}
@media screen and (max-width: 767px) {
  #equipment ul {
    padding: 3rem 2rem 0;
  }
}