/*! --------------------------------------------------------------
　　このCSSファイルは .scssファイルからコンパイルされたものです。
　　修正する際はscssファイルを編集するように注意してください。
--------------------------------------------------------------- */
.clearfix:after {
  content: "";
  display: block;
  clear: both
}

li {
  list-style: none
}

img {
  max-width: 100%;
  height: auto
}

a {
  color: inherit;
  text-decoration: none
}

.min {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif
}

table {
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0
}

td input {
  max-width: 100%
}

i,
em {
  font-style: normal
}

.inner {
  width: 100%;
  position: relative
}

@media(min-width: 1200px) {
  .inner {
    max-width: 1120px;
    padding: 0 20px;
    margin: 0 auto
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .inner {
    padding: 0 5vw
  }
}

@media(max-width: 767px) {
  .inner {
    padding: 0 5%
  }
}

@media(min-width: 1200px) {
  .inner.wide {
    max-width: 1220px
  }
}

.pc-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pc-only {
    display: none
  }
}

@media(max-width: 767px) {
  .pc-only {
    display: none
  }
}

.tab-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tab-only {
    display: none
  }
}

.sp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .sp-only {
    display: none
  }
}

@media(max-width: 767px) {
  .sp-only {
    display: inherit
  }
}

.pctab-only {
  display: inherit
}

@media(min-width: 768px)and (max-width: 1199px) {
  .pctab-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .pctab-only {
    display: none
  }
}

.tabsp-only {
  display: none
}

@media(min-width: 768px)and (max-width: 1199px) {
  .tabsp-only {
    display: inherit
  }
}

@media(max-width: 767px) {
  .tabsp-only {
    display: inherit
  }
}

a.tellink {
  pointer-events: none
}

@media(max-width: 767px) {
  a.tellink {
    pointer-events: inherit
  }
}

@media(max-width: 767px) {
  :root {
    font-size: 4.26666vw !important
  }
}

html,
body {
  font-size: 1rem;
  line-height: 2;
  color: #333;
  font-family: "游ゴシック", "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif
}

html {
  overflow: auto
}

body {
  overflow: hidden
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto
}

.zen {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-optical-sizing: auto
}

.mplus {
  font-family: "M PLUS Rounded 1c", sans-serif
}

.main_home picture img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.fix_right {
  width: 100%;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 6;
  opacity: 0
}

@media(min-width: 1200px) {
  .fix_right {
    height: 80px;
    background-color: rgba(243, 242, 236, .9);
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: unset;
    gap: 0 1.6rem
  }
}

@media(min-width: 768px)and (max-width: 1199px) {
  .fix_right {
    height: 80px;
    background-color: rgba(243, 242, 236, .9);
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    align-content: unset;
    gap: 0 1rem
  }
}

@media(max-width: 767px) {
  .fix_right {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: stretch;
    align-content: unset
  }
}

@media(max-width: 767px) {
  .fix_right .btn {
    width: 50vw
  }
}

@media(min-width: 1200px) {
  .fix_right .btn:not(:last-child) {
    margin-bottom: 1px
  }
}

.fix_right .btn a {
  width: 260px;
  height: 54px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  align-content: unset;
  border-radius: 100vmax;
  padding: 1rem 0
}

@media(max-width: 767px) {
  .fix_right .btn a {
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: unset;
    padding: .9rem 0
  }
}

.fix_right .btn a p {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.33;
  text-align: center
}

@media(min-width: 768px)and (max-width: 1199px) {
  .fix_right .btn a p {
    font-size: 1.125rem
  }
}

@media(max-width: 767px) {
  .fix_right .btn a p {
    font-size: 1.25rem
  }
}

.fix_right .btn a p i {
  font-size: 1.5rem;
  margin-right: .4em;
  position: relative;
  top: .1em
}

@media(min-width: 1200px) {
  .fix_right .btn a p span {
    display: contents
  }
}

.fix_right .btn.line a {
  background-color: #4eb980;
  box-shadow: 0 2px 0 #10924d;
  color: #fff
}

.fix_right .btn.line a:hover {
  transition: .3s ease
}

.fix_right .btn.access a {
  background-color: #f57b00;
  box-shadow: 0 2px 0 #be5f00;
  color: #fff
}

.fix_right .btn.access a:hover {
  transition: .3s ease
}

.fix_right.active {
  opacity: 1
}

.section_cmn {
  padding: 5rem 0
}

@media(max-width: 767px) {
  .section_cmn {
    padding: 3.5rem 0
  }
}

.section_cmn.t_narrow {
  padding-top: 3.5rem
}

@media(max-width: 767px) {
  .section_cmn.t_narrow {
    padding-top: 2.5rem
  }
}

.section_cmn.b_narrow {
  padding-bottom: 3.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_narrow {
    padding-bottom: 2.5rem
  }
}

.section_cmn.t_wide {
  padding-top: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.t_wide {
    padding-top: 3.5rem
  }
}

.section_cmn.b_wide {
  padding-bottom: 7.5rem
}

@media(max-width: 767px) {
  .section_cmn.b_wide {
    padding-bottom: 3.5rem
  }
}

.section_cmn.t_exwide {
  padding-top: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.t_exwide {
    padding-top: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.t_exwide {
    padding-top: 5rem
  }
}

.section_cmn.b_exwide {
  padding-bottom: 10rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .section_cmn.b_exwide {
    padding-bottom: 6rem
  }
}

@media(max-width: 767px) {
  .section_cmn.b_exwide {
    padding-bottom: 5rem
  }
}

.section_cmn.t_none {
  padding-top: 0
}

.section_cmn.b_none {
  padding-bottom: 0
}

.ttl_cmn {
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.3;
  margin-bottom: 1em;
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn {
    font-size: 1.625rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn {
    font-size: 1.5rem
  }
}

.ttl_cmn.deco01,
.ttl_cmn.deco02,
.ttl_cmn.deco03,
.ttl_cmn.deco04 {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 80vw;
  position: relative
}

.ttl_cmn.deco01::before,
.ttl_cmn.deco01::after,
.ttl_cmn.deco02::before,
.ttl_cmn.deco02::after,
.ttl_cmn.deco03::before,
.ttl_cmn.deco03::after,
.ttl_cmn.deco04::before,
.ttl_cmn.deco04::after {
  content: "";
  position: absolute
}

.ttl_cmn.deco01::before {
  width: 93px;
  aspect-ratio: 93/88;
  background: url(images/index/ttldeco01.svg) center center/100% auto no-repeat;
  right: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco01::before {
    width: 8vw;
    right: calc(100% + .2em)
  }
}

.ttl_cmn.deco01::after {
  width: 58px;
  aspect-ratio: 58/69;
  background: url(images/index/ttldeco02.svg) center center/100% auto no-repeat;
  left: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco01::after {
    width: 6vw;
    left: calc(100% + .2em)
  }
}

.ttl_cmn.deco02::before {
  width: 83px;
  aspect-ratio: 83/74;
  background: url(images/index/ttldeco03.svg) center center/100% auto no-repeat;
  right: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco02::before {
    width: 7vw;
    right: calc(100% + .2em)
  }
}

.ttl_cmn.deco02::after {
  width: 94px;
  aspect-ratio: 94/69;
  background: url(images/index/ttldeco04.svg) center center/100% auto no-repeat;
  left: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco02::after {
    width: 8vw;
    left: calc(100% + .2em)
  }
}

.ttl_cmn.deco03::before {
  width: 157px;
  aspect-ratio: 157/38;
  background: url(images/index/ttldeco05.svg) center center/100% auto no-repeat;
  bottom: calc(100% + .8em);
  left: 50%;
  transform: translate(-50%, 0%)
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn.deco03::before {
    width: 14vw;
    bottom: calc(100% + .3em)
  }
}

@media(max-width: 767px) {
  .ttl_cmn.deco03::before {
    width: 18vw;
    bottom: calc(100% + .3em)
  }
}

.ttl_cmn.deco04::before {
  width: 66px;
  aspect-ratio: 66/72;
  background: url(images/index/ttldeco11.svg) center center/100% auto no-repeat;
  right: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco04::before {
    width: 6vw;
    right: calc(100% + .2em)
  }
}

.ttl_cmn.deco04::after {
  width: 88px;
  aspect-ratio: 88/96;
  background: url(images/index/ttldeco12.svg) center center/100% auto no-repeat;
  left: calc(100% + 1em);
  top: 50%;
  transform: translate(0, -50%)
}

@media(max-width: 767px) {
  .ttl_cmn.deco04::after {
    width: 8vw;
    left: calc(100% + .2em)
  }
}

.ttl_cmn.tac {
  text-align: center;
  margin-inline: auto
}

.ttl_cmn.color_w {
  color: #fff
}

.ttl_cmn.color_br {
  color: #644924
}

.ttl_cmn.color_yg {
  color: #47ad14
}

.ttl_cmn.mb_w {
  margin-bottom: 1.8em
}

.ttl_cmn.mb0 {
  margin-bottom: 0
}

.ttl_cmn2 {
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: .8em
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2 {
    font-size: 1.375rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2 {
    font-size: 1.25rem
  }
}

.ttl_cmn2.regular {
  font-weight: 400
}

.ttl_cmn2 span.sub {
  font-size: 0.875rem;
  font-weight: 500
}

@media(max-width: 767px) {
  .ttl_cmn2 span.sub {
    font-size: 0.6875rem
  }
}

.ttl_cmn2.lh_w {
  line-height: 2.4
}

@media(max-width: 767px) {
  .ttl_cmn2.lh_w {
    line-height: 2.2
  }
}

.ttl_cmn2.lh_n {
  line-height: 1.5
}

.ttl_cmn2.circle_go {
  padding-left: 33px;
  position: relative
}

@media(max-width: 767px) {
  .ttl_cmn2.circle_go {
    padding-left: 5vw
  }
}

.ttl_cmn2.circle_go::before {
  content: "";
  width: 25px;
  aspect-ratio: 1/1;
  border: 6px solid #f8b500;
  border-radius: 100vmax;
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .ttl_cmn2.circle_go::before {
    width: 4vw;
    border: 4px solid #f8b500
  }
}

.ttl_cmn2.circle_sk {
  padding-left: 33px;
  position: relative
}

@media(max-width: 767px) {
  .ttl_cmn2.circle_sk {
    padding-left: 5vw
  }
}

.ttl_cmn2.circle_sk::before {
  content: "";
  width: 25px;
  aspect-ratio: 1/1;
  border: 6px solid #65cbfb;
  border-radius: 100vmax;
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .ttl_cmn2.circle_sk::before {
    width: 4vw;
    border: 4px solid #65cbfb
  }
}

.ttl_cmn2.bdb {
  padding-bottom: .3em;
  position: relative
}

.ttl_cmn2.bdb::before {
  content: "";
  width: 3.5em;
  border-bottom: 2px dashed currentColor;
  position: absolute;
  top: 100%;
  left: 0
}

.ttl_cmn2.tac {
  text-align: center
}

.ttl_cmn2.color_w {
  color: #fff
}

.ttl_cmn2.color_or {
  color: #f57b00
}

.ttl_cmn2.color_br {
  color: #644924
}

.ttl_cmn2.color_yg {
  color: #47ad14
}

.ttl_cmn2.large {
  font-size: 2.0625rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2.large {
    font-size: 1.5rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2.large {
    font-size: 1.375rem
  }
}

.ttl_cmn2.mdl {
  font-size: 1.5rem
}

@media(min-width: 768px)and (max-width: 1199px) {
  .ttl_cmn2.mdl {
    font-size: 1.25rem
  }
}

@media(max-width: 767px) {
  .ttl_cmn2.mdl {
    font-size: 1.125rem
  }
}

.ttl_cmn2.small {
  font-size: 1.25rem
}

@media(max-width: 767px) {
  .ttl_cmn2.small {
    font-size: 1rem
  }
}

.ttl_cmn2.mb_w {
  margin-bottom: 1.8em
}

.ttl_cmn2.mb0 {
  margin-bottom: 0
}

.txt_cmn {
  font-size: 1rem;
  font-weight: 400;
  line-height: 2
}

@media(max-width: 767px) {
  .txt_cmn {
    font-size: 0.875rem
  }
}

.txt_cmn.lh_w {
  line-height: 2.4
}

@media(max-width: 767px) {
  .txt_cmn.lh_w {
    line-height: 2.2
  }
}

.txt_cmn.lh_n {
  line-height: 1.5
}

.txt_cmn.bar {
  display: flex;
  align-items: center;
  gap: 1.2em
}

.txt_cmn.bar::after {
  content: "";
  background-color: currentColor;
  flex-grow: 1;
  height: 1px
}

.txt_cmn.circle_go {
  padding-left: 33px;
  position: relative
}

@media(max-width: 767px) {
  .txt_cmn.circle_go {
    padding-left: 5vw
  }
}

.txt_cmn.circle_go::before {
  content: "";
  width: 25px;
  aspect-ratio: 1/1;
  border: 6px solid #f8b500;
  border-radius: 100vmax;
  box-sizing: border-box;
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .txt_cmn.circle_go::before {
    width: 4vw;
    border: 4px solid #f8b500
  }
}

.txt_cmn.circle_yg {
  padding-left: 33px;
  position: relative
}

@media(max-width: 767px) {
  .txt_cmn.circle_yg {
    padding-left: 5vw
  }
}

.txt_cmn.circle_yg::before {
  content: "";
  width: 25px;
  aspect-ratio: 1/1;
  border: 6px solid #47ad14;
  border-radius: 100vmax;
  position: absolute;
  top: 52%;
  left: 0;
  transform: translateY(-50%)
}

@media(max-width: 767px) {
  .txt_cmn.circle_yg::before {
    width: 4vw;
    border: 4px solid #47ad14
  }
}

.txt_cmn.tac {
  text-align: center
}

.txt_cmn.tar {
  text-align: right
}

.txt_cmn.bold {
  font-weight: 700
}

.txt_cmn.color_sk {
  color: #65cbfb
}

.txt_cmn.color_w {
  color: #fff
}

.txt_cmn.large {
  font-size: 1.125rem
}

@media(max-width: 767px) {
  .txt_cmn.large {
    font-size: 0.9375rem
  }
}

.txt_cmn.mdl {
  font-size: 0.875rem
}

@media(max-width: 767px) {
  .txt_cmn.mdl {
    font-size: 0.75rem
  }
}

.txt_cmn.small {
  font-size: 0.75rem
}

@media(max-width: 767px) {
  .txt_cmn.small {
    font-size: 0.625rem
  }
}

.side_cmn {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  align-content: unset
}

.side_cmn figure {
  width: 50%;
  text-align: center
}

@media(max-width: 767px) {
  .side_cmn figure {
    width: 100%;
    margin-bottom: 1rem
  }
}

.side_cmn .txt {
  width: 46%
}

@media(max-width: 767px) {
  .side_cmn .txt {
    width: 100%
  }
}

.side_cmn.reverse {
  flex-direction: row-reverse
}

.side_cmn.a_start {
  align-items: flex-start
}

.side_cmn.alt figure {
  width: 46%
}

@media(max-width: 767px) {
  .side_cmn.alt figure {
    width: 100%
  }
}

.side_cmn.alt .txt {
  width: 50%
}

@media(max-width: 767px) {
  .side_cmn.alt .txt {
    width: 100%
  }
}

.side_cmn.feature figure {
  width: 37.037037037%
}

@media(max-width: 767px) {
  .side_cmn.feature figure {
    width: 100%
  }
}

.side_cmn.feature .txt {
  width: 62.962962963%;
  padding: 0 5%
}

@media(max-width: 767px) {
  .side_cmn.feature .txt {
    width: 100%;
    padding: 0
  }
}

.side_cmn.doctor figure {
  width: 32%
}

@media(max-width: 767px) {
  .side_cmn.doctor figure {
    width: 100%
  }
}

.side_cmn.doctor .txt {
  width: 65%
}

@media(max-width: 767px) {
  .side_cmn.doctor .txt {
    width: 100%
  }
}

body {
  background-color: #fffef7
}

.home_second .wrap {
  max-width: 1000px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.2rem 3%;
  margin-inline: auto
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_second .wrap {
    grid-template-columns: repeat(2, 1fr);
    max-width: 90vw
  }
}

@media(max-width: 767px) {
  .home_second .wrap {
    grid-template-columns: repeat(1, 1fr);
    max-width: 90vw
  }
}

.home_medical h2.ttl_cmn {
  position: relative
}

.home_medical .box {
  background-color: #ffecd9;
  border-radius: 1.8rem;
  padding: 5rem 5% 2rem;
  margin-top: -4rem
}

@media(max-width: 767px) {
  .home_medical .box {
    padding: 3rem 4% 1.8rem;
    margin-top: -2rem
  }
}

.home_medical .box ul {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: .6rem 1.5%
}

.home_medical .box ul li {
  background-color: #fff;
  border-radius: .6rem;
  padding: .8rem 2% .8rem 4%
}

.home_medical .box ul li p {
  line-height: 1.5
}

.wrap_faq {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.5rem 4%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .wrap_faq {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .wrap_faq {
    grid-template-columns: repeat(1, 1fr);
    gap: 1rem 4%
  }
}

.wrap_faq .unit_faq .q1 {
  position: relative
}

.wrap_faq .unit_faq .q1::before,
.wrap_faq .unit_faq .q1::after {
  content: "";
  width: 16px;
  height: 1px;
  background: #333;
  position: absolute;
  top: 50%;
  right: 0px;
  translate: 0 -50%
}

@media(max-width: 767px) {

  .wrap_faq .unit_faq .q1::before,
  .wrap_faq .unit_faq .q1::after {
    width: 12px
  }
}

.wrap_faq .unit_faq .q1::after {
  rotate: -90deg;
  transition: .3s ease
}

.wrap_faq .unit_faq .a1 {
  margin-top: .5rem;
  translate: 0 -1em;
  opacity: 0;
  transition: transform 1s, opacity 1s
}

.wrap_faq .unit_faq[open] .q1::after {
  rotate: 0deg
}

.wrap_faq .unit_faq[open] .a1 {
  translate: 0;
  opacity: 1
}

.home_vaccine h2.ttl_cmn {
  position: relative
}

.home_vaccine .box {
  background-color: #e7f8f8;
  border-radius: 1.8rem;
  padding: 5rem 5% 2rem;
  margin-top: -4rem
}

@media(max-width: 767px) {
  .home_vaccine .box {
    padding: 3rem 4% 1.8rem;
    margin-top: -2rem
  }
}

.home_vaccine .box ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1rem 1.5%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_vaccine .box ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_vaccine .box ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

.home_vaccine .box ul li {
  background-color: #fff;
  border-radius: .6rem;
  padding: .8rem 2% .8rem 4%
}

.home_vaccine .box ul li p {
  line-height: 1.5
}

.home_infant .box {
  background-color: #e9f7e2;
  border-radius: 1.8rem;
  padding: 5rem 5% 2rem;
  margin-top: -4rem
}

@media(max-width: 767px) {
  .home_infant .box {
    padding: 3rem 4% 1.8rem;
    margin-top: -2rem
  }
}

.home_infant .box .side_cmn {
  margin-bottom: 1.2rem
}

.home_infant .box h4.txt_cmn {
  margin-bottom: .5em
}

.home_infant .box ul.ul01 {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .6rem 2%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_infant .box ul.ul01 {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_infant .box ul.ul01 {
    grid-template-columns: repeat(2, 1fr)
  }
}

.home_infant .box ul.ul01 li {
  background-color: #fff;
  border-radius: .6rem;
  padding: .8rem 2% .8rem 4%
}

.home_infant .box ul.ul01 li p {
  line-height: 1.5
}

.home_infant .box .txt_under {
  background-color: #fff;
  border: 2px solid #47ad14;
  border-radius: .6rem;
  padding: .4em 2%
}

.home_infant .box .txt_under b {
  color: #f15073
}

.home_feature .side_cmn {
  position: relative
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_feature .side_cmn:not(:last-child) {
    margin-bottom: 2rem
  }
}

@media(max-width: 767px) {
  .home_feature .side_cmn:not(:last-child) {
    margin-bottom: 2rem
  }
}

.home_feature .side_cmn:not(.reverse)::before {
  content: "";
  width: 100vw;
  height: 115%;
  background: url(images/index/bgwave01.svg) center center/auto 100% repeat-x;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0
}

@media(max-width: 767px) {
  .home_feature .side_cmn:not(.reverse)::before {
    height: 140%
  }
}

.home_feature .side_cmn figure,
.home_feature .side_cmn .txt {
  position: relative;
  z-index: 2
}

.home_feature .side_cmn .poadeco01,
.home_feature .side_cmn .poadeco02,
.home_feature .side_cmn .poadeco03 {
  position: absolute;
  z-index: 1
}

.home_feature .side_cmn .poadeco01 {
  top: 0;
  left: 35%
}

.home_feature .side_cmn .poadeco02 {
  top: 5%;
  left: 40%
}

.home_feature .side_cmn .poadeco03 {
  top: 5%;
  right: 2%
}

.home_facility {
  position: relative
}

.home_facility::before {
  content: "";
  width: 100vw;
  height: 60%;
  background: url(images/index/bgwave02.svg) center center/auto 100% repeat-x;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 0
}

.home_facility ul {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.2rem 1.8518518519%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_facility ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

@media(max-width: 767px) {
  .home_facility ul {
    grid-template-columns: repeat(2, 1fr)
  }
}

.home_facility ul li img {
  width: 100%;
  -o-object-fit: cover;
  object-fit: cover
}

.home_doctor {
  position: relative
}

.home_doctor .inner {
  z-index: 2
}

.home_doctor .poadeco04,
.home_doctor .poadeco05 {
  position: absolute;
  z-index: 1
}

@media(max-width: 767px) {

  .home_doctor .poadeco04,
  .home_doctor .poadeco05 {
    display: none
  }
}

.home_doctor .poadeco04 {
  top: 45%;
  left: 22%
}

.home_doctor .poadeco05 {
  bottom: 4%;
  left: 5%
}

.home_doctor p.txt01 {
  margin-bottom: 1.5em
}

.home_doctor .name {
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 700;
  text-align: right
}

@media(max-width: 767px) {
  .home_doctor .name {
    font-size: 0.75rem
  }
}

.home_doctor .name em {
  display: inline-block;
  font-size: 1.5rem;
  line-height: 1;
  margin-left: .5em
}

@media(max-width: 767px) {
  .home_doctor .name em {
    font-size: 1.125rem
  }
}

.home_access {
  background-color: #dbf3ff;
  position: relative
}

.home_access::before {
  content: "";
  width: 100vw;
  height: 4rem;
  background: url(images/index/bg_wave03.svg) center center/auto 100% repeat-x;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0%);
  z-index: 0
}

.home_access .map {
  position: relative;
  width: 100%;
  padding-top: 340px;
  border-radius: 1.8rem;
  overflow: hidden;
  margin-bottom: 1rem
}

@media(max-width: 767px) {
  .home_access .map {
    padding-top: 100%;
    border-radius: 1rem
  }
}

.home_access .map iframe {
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: calc(100% + 200px + 200px);
  pointer-events: none
}

@media(max-width: 767px) {
  .home_access .map iframe {
    top: -30vw;
    height: calc(100% + 30vw + 30vw)
  }
}

.home_access .wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  gap: 2rem 0;
  margin-bottom: 1.2rem
}

.home_access .wrap .left {
  width: 45%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_access .wrap .left {
    width: 100%
  }
}

@media(max-width: 767px) {
  .home_access .wrap .left {
    width: 100%
  }
}

.home_access .wrap .right {
  width: 50%
}

@media(min-width: 768px)and (max-width: 1199px) {
  .home_access .wrap .right {
    width: 100%
  }
}

@media(max-width: 767px) {
  .home_access .wrap .right {
    width: 100%
  }
}

.home_access .box {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 436px;
  background-color: #fff;
  border-radius: .6rem;
  padding: 1rem 5% 1.5rem
}

.home_access .box .ttl01 {
  font-size: 1.1875rem;
  color: gray;
  font-weight: 500;
  font-weight: 500;
  text-align: center;
  margin-bottom: .3em
}

@media(max-width: 767px) {
  .home_access .box .ttl01 {
    font-size: 0.9375rem
  }
}

.home_access .box .ttl01 b {
  color: #f8b500
}

.home_access .box .tel {
  width: -moz-fit-content;
  width: fit-content;
  margin-inline: auto
}

.home_access .box .tel a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0 .6rem
}

.home_access .box .tel a i {
  display: grid;
  place-content: center;
  width: 38px;
  aspect-ratio: 1/1;
  background-color: #4eb980;
  border-radius: .6rem;
  font-size: 1.875rem;
  color: #fff;
  position: relative;
  top: .1em
}

@media(max-width: 767px) {
  .home_access .box .tel a i {
    width: 10vw;
    font-size: 1.5rem
  }
}

.home_access .box .tel a p {
  font-size: 2.4375rem;
  color: #4eb980;
  font-weight: 700;
  line-height: 1
}

@media(max-width: 767px) {
  .home_access .box .tel a p {
    font-size: 1.75rem
  }
}

.home_access .dl_cmn a {
  color: #f57b00;
  text-decoration: underline
}

.home_access .tblwrap {
  border: 2px solid #ff9606;
  border-radius: .6rem;
  overflow: hidden;
  margin-bottom: .5rem
}

@media(max-width: 767px) {
  .home_access .tblwrap {
    border: 1px solid #ff9606
  }
}

.home_access p.txt02 {
  padding-left: 1em
}

dl.dl_cmn>div {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start
}

dl.dl_cmn>div dt,
dl.dl_cmn>div dd {
  line-height: 2
}

@media(max-width: 767px) {

  dl.dl_cmn>div dt,
  dl.dl_cmn>div dd {
    font-size: 0.75rem;
    line-height: 1.5
  }
}

dl.dl_cmn>div dt {
  width: 20%
}

dl.dl_cmn>div dd {
  width: 80%
}

.tbl_cale {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden
}

.tbl_cale col.tbl_ttl {
  width: 29.6296296296%
}

.tbl_cale col.tbl_con {
  width: 10.0529100529%
}

.tbl_cale th,
.tbl_cale td {
  padding: .3em 1%;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.5;
  text-align: center
}

@media(max-width: 767px) {

  .tbl_cale th,
  .tbl_cale td {
    font-size: 0.8125rem
  }
}

.tbl_cale thead th {
  background-color: #f57b00;
  color: #fff
}

.tbl_cale thead th:first-child {
  font-size: 1.125rem;
  font-weight: 400
}

@media(max-width: 767px) {
  .tbl_cale thead th:first-child {
    font-size: 0.875rem
  }
}

.tbl_cale thead th:not(:last-child) {
  border-right: 1px solid #ff9606
}

.tbl_cale tbody th,
.tbl_cale tbody td {
  background-color: #fff
}

.tbl_cale tbody th {
  font-size: 1.125rem;
  font-weight: 400
}

@media(max-width: 767px) {
  .tbl_cale tbody th {
    font-size: 0.875rem
  }
}

.tbl_cale tbody td {
  border-left: 1px solid #ff9606
}

.tbl_cale tbody tr:first-child th,
.tbl_cale tbody tr:first-child td {
  border-bottom: 1px dashed #ff9606
}

/* 診療時間表 改修 ここから */
.home_access .tbl_cale tbody tr:nth-of-type(2) td:first-of-type,
.home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(3),
.home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(6) {
  position: relative;
}

.home_access .tbl_cale tbody tr:nth-of-type(2) td:first-of-type span,
.home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(3) span,
.home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(6) span {
  position: absolute;
  font-size: 8px;
  display: inline-block;
  top: 4px;
}

@media(max-width: 767px) {
  .home_access .tbl_cale tbody tr:nth-of-type(2) td:first-of-type span,
  .home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(3) span,
  .home_access .tbl_cale tbody tr:nth-of-type(2) td:nth-of-type(6) span {
    top: 2px;
  }
}
/* 診療時間表 改修 ここまで */

footer {
  aspect-ratio: 1440/287;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-end;
  background: url(images/index/bg_foot01.svg) center bottom/100% auto no-repeat;
  background-color: #dbf3ff;
  margin-top: -3rem;
  margin-bottom: 80px
}

@media(max-width: 767px) {
  footer {
    aspect-ratio: 2/1;
    background-size: auto 100%;
    margin-top: -2rem;
    margin-bottom: 3.5rem
  }
}

footer .copyright {
  padding: .8rem 0
}

footer .copyright small {
  display: block
}

/*# sourceMappingURL=style.css.map */