/* clinicdata
------------------------------------ */
#accesscall {
  padding: 0 2rem 0;
}
#accesscall .accesscall_inner {
  max-width: 1080px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.1vw;
  padding: 0 0 3rem;
  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;
  margin: 0 auto;
}
#accesscall .accesscall_inner .logo {
  max-width: clamp(35rem, 32.6vw, 47rem);
}
#accesscall .accesscall_inner .call {
  padding: 1rem 0 1rem 2.1vw;
  position: relative;
}
#accesscall .accesscall_inner .call:before {
  content: "";
  height: 100%;
  width: 1px;
  border-left: 1px solid #4AA85A;
  position: absolute;
  left: 0;
  top: 0;
  transform: rotate(10deg);
}
#accesscall .accesscall_inner .call a {
  display: block;
  color: #4AA85A;
  font-family: "Instrument Sans", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
  font-size: clamp(2rem, 2.4vw, 3.4rem);
}
#accesscall .accesscall_inner .call a span {
  padding: 3px 0 3px 0;
  line-height: 1;
  font-size: clamp(1.2rem, 1.7vw, 2.4rem);
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  #accesscall {
    padding: 0 2rem 2rem;
  }
  #accesscall .accesscall_inner {
    display: grid;
    grid-template-columns: 1fr;
    padding: 0;
    background-image: none;
  }
  #accesscall .accesscall_inner .logo {
    max-width: 96%;
    margin: 0 auto;
  }
  #accesscall .accesscall_inner .call {
    padding: 1rem 0;
  }
  #accesscall .accesscall_inner .call:before {
    display: none;
  }
  #accesscall .accesscall_inner .call a {
    text-align: center;
    font-size: clamp(2rem, 8vw, 3rem);
  }
  #accesscall .accesscall_inner .call a span {
    font-size: clamp(1.4rem, 4.8vw, 1.8rem);
  }
}

/* clinicdata
------------------------------------ */
#clinicdata {
  background: #4AA85A url(/lib/img/cmn/bg_body.webp) repeat;
  position: relative;
  padding: calc(7.7777777778vw + 3rem) 0;
}
#clinicdata: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;
}
#clinicdata:after {
  content: "";
  width: 100vw;
  aspect-ratio: 1440/112;
  position: absolute;
  right: 0;
  bottom: -1px;
  display: block;
  background: url(/lib/img/cmn/bg_wava_07.webp) no-repeat 0/100% auto;
}
#clinicdata .clinicdata_cover {
  padding: 0 2rem;
  position: relative;
  background: url(/lib/img/cmn/bg_block_greengrass_01.webp) repeat-y 0/100% auto;
}
#clinicdata .clinicdata_cover:before {
  content: "";
  width: 93px;
  aspect-ratio: 279/241;
  position: absolute;
  left: clamp(2rem, 50vw - 520px, 50%);
  bottom: 100%;
  background: url(/lib/img/cmn/animal_bird_01_r.webp) no-repeat 0/contain;
  display: block;
}
#clinicdata .clinicdata_cover:after {
  content: "";
  display: block;
  width: 95px;
  aspect-ratio: 285/146;
  position: absolute;
  right: clamp(2rem, 50vw - 520px, 50%);
  bottom: 100%;
  background: url(/lib/img/cmn/animal_ham_01_l.webp) no-repeat 0/contain;
}
#clinicdata .opentime {
  max-width: 1080px;
  margin: 0 auto;
}
#clinicdata .openinfo {
  max-width: 1080px;
  margin: 0 auto;
}
#clinicdata .openinfo:after {
  content: "";
  display: block;
  width: clamp(15rem, 22.4vw, 32.3rem);
  aspect-ratio: 938/212;
  position: absolute;
  left: clamp(2rem, 50vw - 520px, 50%);
  top: calc(100% + 7.7777777778vw);
  background: url(/lib/img/cmn/nature_grass_02.webp) no-repeat 0/contain;
  z-index: 4;
}
#clinicdata .openinfo .linkbtn03 {
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  #clinicdata {
    padding: calc(16.5333333333vw + 2rem) 0;
  }
  #clinicdata:before {
    content: "";
    width: 100vw;
    aspect-ratio: 375/62;
    position: absolute;
    right: 0;
    top: -1px;
    background: url(/lib/img/cmn/bg_wava_06_sp.webp) no-repeat 0/100% auto;
  }
  #clinicdata:after {
    content: "";
    width: 100vw;
    aspect-ratio: 375/62;
    position: absolute;
    right: 0;
    bottom: -1px;
    display: block;
    background: url(/lib/img/cmn/bg_wava_07_sp.webp) no-repeat 0/100% auto;
  }
  #clinicdata .clinicdata_cover {
    background: url(/lib/img/cmn/bg_block_greengrass_01_sp.webp) repeat-y 0/100% auto;
  }
  #clinicdata .clinicdata_cover::before {
    width: 80px;
  }
  #clinicdata .clinicdata_cover::after {
    width: 80px;
  }
  #clinicdata .openinfo::after {
    display: none;
  }
}

#clinicdata .opentime {
  color: #FFFCDB;
}
#clinicdata .opentime h2 {
  font-size: clamp(2rem, 1.7vw, 2.4rem);
  width: fit-content;
  margin: 0 auto 3rem;
  padding: 1rem 1.5rem 0.75rem;
  position: relative;
}
#clinicdata .opentime h2:after {
  content: "";
  display: block;
  width: 100%;
  height: 3px;
  position: absolute;
  bottom: 0;
  left: 0;
  background: url(/lib/img/cmn/line_beige_01.webp) repeat 0/cover;
}
#clinicdata .opentime .inner {
  display: grid;
  grid-template-columns: 1fr 380px;
  gap: 3.5vw;
}
@media screen and (max-width: 767px) {
  #clinicdata .opentime .inner {
    grid-template-columns: 1fr;
  }
}
#clinicdata .opentime #timetablenotes {
  position: relative;
  align-items: self-start;
  margin-bottom: 119px;
}
#clinicdata .opentime #timetablenotes p {
  padding: 2rem 1rem 2rem 2rem;
  position: relative;
  font-size: clamp(1.6rem, 1.3vw, 1.8rem);
  z-index: 0;
}
#clinicdata .opentime #timetablenotes p::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(/lib/img/cmn/bg_footer_timetable_head.webp) no-repeat top/100% auto;
  z-index: -1;
}
#clinicdata .opentime #timetablenotes p::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 384/99;
  position: absolute;
  bottom: 119px;
  bottom: 0;
  left: 0;
  background: url(/lib/img/cmn/bg_footer_timetable_bottom.webp) no-repeat bottom/contain;
  z-index: -1;
}
#clinicdata .opentime #timetablenotes::before {
  content: "";
  display: block;
  width: 30px;
  aspect-ratio: 1;
  position: absolute;
  top: calc(100% - 3px);
  right: calc(5rem + 129px);
  background: url(/lib/img/cmn/bg_footer_timetable_tip.webp) repeat 0/cover;
}
#clinicdata .opentime #timetablenotes:after {
  content: "";
  display: block;
  width: 129px;
  aspect-ratio: 129/119;
  position: absolute;
  top: calc(100% - 1.8rem);
  right: 3rem;
  background: url(/lib/img/cmn/animal_dog_01_l.webp) repeat 0/cover;
}
@media screen and (max-width: 767px) {
  #clinicdata .opentime #timetablenotes {
    margin-bottom: 23.0620155039%;
  }
  #clinicdata .opentime #timetablenotes::before {
    width: 8%;
    top: calc(100% - 10px);
    right: calc(3rem + 25%);
    background: url(/lib/img/cmn/bg_footer_timetable_tip.webp) repeat 0/cover;
  }
  #clinicdata .opentime #timetablenotes:after {
    width: 25%;
    right: 2rem;
  }
}
#clinicdata .opentime #timetable table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 10px 10px 0 0;
  overflow: hidden;
  font-size: clamp(1.5rem, 1.4vw, 2rem);
}
#clinicdata .opentime #timetable table th, #clinicdata .opentime #timetable table td {
  padding: 1rem 1.4vw 1rem 0;
  text-align: center;
}
#clinicdata .opentime #timetable table thead {
  background: rgba(255, 243, 63, 0.7);
  color: #468C53;
  letter-spacing: 0.05em;
  text-indent: 0.05em;
}
#clinicdata .opentime #timetable table thead th {
  padding: 1.25rem 1.4vw 1rem 0;
}
#clinicdata .opentime #timetable table tbody tr {
  border-bottom: 1px solid #FFFCDB;
}
#clinicdata .opentime #timetable table tbody td {
  font-size: clamp(1.8rem, 1.7vw, 2.4rem);
}
#clinicdata .opentime #timetable table tbody .close {
  color: #3B3B3B;
  font-size: clamp(1.5rem, 1.4vw, 2rem);
}
#clinicdata .openinfo {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.8vw;
  margin-bottom: 7rem;
}
#clinicdata .openinfo .instagram {
  background: #EEE331;
  padding: 2.5rem;
  display: grid;
  grid-template-columns: 40% calc(60% - 2rem);
  gap: 1rem 2rem;
  border-radius: 15px;
}
#clinicdata .openinfo .instagram .logo {
  grid-row: 1/3;
}
#clinicdata .openinfo .instagram p {
  color: #3B3B3B;
  font-weight: 500;
}
#clinicdata .openinfo .homevisit {
  border-radius: 15px;
  border: 4px solid #D6EED9;
  background: #D6EED9;
}
#clinicdata .openinfo .homevisit h2 {
  background: #4AA85A;
  padding: 1rem 2rem;
  text-align: center;
  border-radius: 13px 13px 0 0;
  font-size: clamp(1.8rem, 1.4vw, 2rem);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5rem;
}
#clinicdata .openinfo .homevisit h2::before {
  content: "";
  width: 4rem;
  aspect-ratio: 1;
  background: url(/lib/img/cmn/icon_homevisit.webp) no-repeat center/contain;
}
#clinicdata .openinfo .homevisit p {
  color: #3B3B3B;
  padding: 2rem 2.1vw;
}
@media screen and (max-width: 1024px) {
  #clinicdata .openinfo .instagram {
    display: grid;
    grid-template-columns: 1fr;
    padding: 1.5rem 0 0 0;
  }
  #clinicdata .openinfo .instagram .logo {
    width: 70%;
    margin: 0 auto;
    order: 1;
  }
  #clinicdata .openinfo .instagram .linkbtn01 {
    order: 2;
    margin: 0 auto;
  }
  #clinicdata .openinfo .instagram p {
    order: 3;
    background: #DACF20;
    padding: 1rem 1.5rem;
    border-radius: 0 0 15px 15px;
    text-align: center;
    line-height: 1.4;
  }
}
@media screen and (max-width: 767px) {
  #clinicdata .openinfo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    margin-bottom: 3rem;
  }
  #clinicdata .openinfo .homevisit p {
    padding: 1rem 1.5rem;
  }
}

/* clinicoutline
------------------------------------ */
#clinicoutline {
  max-width: calc(1080px + 4rem);
  margin: 0 auto;
  padding: 5rem 2rem;
  display: grid;
  grid-template-columns: max-content 1fr;
  gap: 3.5vw;
  color: #4AA85A;
}
#clinicoutline .data p {
  font-size: clamp(1.6rem, 1.4vw, 2rem);
}
#clinicoutline .data ul {
  margin: 2.5rem 0;
}
#clinicoutline .data ul li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: clamp(1.6rem, 1.4vw, 2rem);
}
#clinicoutline .data ul li + li {
  margin-top: 0.5rem;
}
#clinicoutline .data ul li::before {
  content: "";
  width: 3rem;
  aspect-ratio: 1;
  display: block;
}
#clinicoutline .data ul li.park::before {
  background: url(/lib/img/cmn/icon_parking.webp) no-repeat center/contain;
}
#clinicoutline .data ul li.train::before {
  background: url(/lib/img/cmn/icon_train.webp) no-repeat center/contain;
}
@media screen and (max-width: 767px) {
  #clinicoutline {
    padding: 3rem 2rem;
    grid-template-columns: 1fr;
  }
  #clinicoutline .data {
    order: 2;
  }
  #clinicoutline .data .linkbtn02 {
    width: 100%;
  }
  #clinicoutline .photo {
    order: 1;
    margin-bottom: 2rem;
  }
}

/* bycar
------------------------------------ */
#bycar {
  max-width: calc(1080px + 4rem);
  margin: 0 auto;
  padding: 5rem 2rem;
  background-image: repeating-linear-gradient(90deg, #4AA85A, #4AA85A 5px, transparent 3px, transparent 13px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 100% 3px;
}
#bycar hgroup {
  text-align: center;
  color: #4AA85A;
  margin-bottom: 5rem;
}
#bycar hgroup h2 {
  font-size: clamp(2.4rem, 2.2vw, 3.2rem);
  font-family: "M PLUS Rounded 1c", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  margin-bottom: 1rem;
}
#bycar hgroup .en {
  padding-top: 1rem;
  font-family: "Instrument Sans", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
  font-size: clamp(1.6rem, 1.5vw, 2.2rem);
  font-weight: 500;
  letter-spacing: 0.2em;
  text-indent: 0.2em;
  position: relative;
}
#bycar hgroup .en::before {
  content: "";
  width: 7rem;
  height: 1px;
  background: #4AA85A;
  left: 50%;
  top: 0;
  transform: translateX(-50%);
  position: absolute;
}
#bycar .waylist {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5vw;
}
#bycar .waylist .way {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 3;
  gap: 1.5rem;
}
#bycar .waylist .way p {
  padding-left: 2rem;
}
#bycar .waylist .way .title {
  color: #4AA85A;
  position: relative;
  display: flex;
  gap: 1rem;
  align-items: center;
  font-weight: 500;
  font-size: clamp(1.6rem, 1.4vw, 2rem);
}
#bycar .waylist .way .title: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;
}
#bycar .parking {
  margin-top: 10rem;
  background: #F6F3CB;
  border-radius: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3.5vw;
  position: relative;
}
#bycar .parking: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;
}
#bycar .parking .data {
  display: grid;
  place-content: center;
  padding: 2rem 2rem;
}
#bycar .parking .data h3 {
  color: #4AA85A;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  font-size: clamp(1.8rem, 1.4vw, 2rem);
  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;
}
@media screen and (max-width: 767px) {
  #bycar .waylist {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
  #bycar .waylist .way p {
    padding-left: 0;
  }
  #bycar .waylist .way .title {
    font-size: 2rem;
  }
  #bycar .waylist .way .title:before {
    width: 5.8rem;
    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;
  }
  #bycar .parking {
    margin-top: 8rem;
    border-radius: 10px;
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  #bycar .parking:after {
    width: 60px;
  }
  #bycar .parking .data {
    padding: 4rem 2rem;
  }
  #bycar .parking .data h3 {
    color: #4AA85A;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
    font-size: clamp(1.8rem, 1.4vw, 2rem);
    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;
  }
}