#home {
  background-image: url(../img/top/pink-orange.png),url(../img/top/pp-grn.png),url(../img/top/pink-red-orange.png);
  background-size: 100% auto,100% auto,100% auto;
  background-position: center top 80rem,center top 320rem,center bottom 80rem;
  background-repeat: no-repeat,no-repeat,no-repeat;
}
@media screen and (max-width: 767px) {
  #home {
    background-size: 160rem auto, 110.2rem auto, 160rem auto;
    background-position: center top 132rem, center top 582rem, center bottom 80rem;
  }
}
/* ----------------------------------
mv
---------------------------------- */
.mv {
  position: relative;
}
.mv .mv_slide {
  position: relative;
  overflow: hidden;
  height: 62rem;
  border-bottom-left-radius: 1rem;
}
.mv .mv_slide .swiper-slide img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mv .in {
  position: absolute;
  left: 50%;
  bottom: 9rem;
  max-width: 140rem;
  width: 100%;
  padding-left: 2.2rem;
  transform: translateX(-50%);
  z-index: 2;
}
.mv .in .df_ttl {
  color: var(--color-white);
}
.mv .in .df_ttl .txt {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
}
.mv .in .df_ttl .ttl_h2 {
  width: 38.3rem;
  margin-bottom: 2.6rem;
  margin-left: -1.5rem;
}
.top_hours {
  position: absolute;
  right: 0;
  bottom: -10rem;
  width: 63rem;
  padding: 3rem 5rem;
  border-top-left-radius: 1rem;
  background: var(--color-white);
  z-index: 2;
}
.top_hours::after,
.top_hours::before {
  position: absolute;
  content: "";
  display: block;
  width: 1.6rem;
  height: 1.6rem;
  background: url(../img/common/radius2.png) center/contain no-repeat;
}
.top_hours::after {
  left: -1.6rem;
  bottom: 10rem;
}
.top_hours::before {
  right: 0;
  top: -1.6rem;
}
.top_news {
  max-width: 100rem;
  height: 10rem;
  display: flex;
  align-items: center;
  gap: 2.9rem;
  padding: 0 6rem;
  background: var(--color-white);
}
.top_news .ttl_h2 {
  width: 7rem;
  font-size: 1.6rem;
  font-weight: var(--bold);
}
.top_news .news_slide {
  width: 72rem;
  margin: 0;
}
.top_news .news_slide.swiper {
  height: 4rem;
}
.top_news .news_slide .swiper-slide {
  display: flex;
  align-items: center;
}
.top_news .news_slide .swiper-slide a {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
}
.top_news .news_slide .swiper-slide a time {
  width: 10rem;
}
.top_news .news_slide .swiper-slide a span {
  width: calc(100% - 10rem);
  line-height: 1;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
}
.mv .top_news {
  display: none;
}
.top_news .swiper_controll {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin-left: 1rem;
}
.top_news .swiper-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  border: 1px solid #d6cfcf;
  cursor: pointer;
  transition: .3s;
}
.top_news .swiper-button img {
  width: 0.4rem;
}
.top_news .swiper-button-prev-news {
  transform: rotate(-90deg);
}
.top_news .swiper-button-next-news {
  transform: rotate(90deg);
}
@media screen and (min-width: 768px) {
  .top_news .swiper-button:not(.swiper-button-disabled):hover {
    background: var(--color-pink);
    border-color: var(--color-pink);
  }
}
@media screen and (max-width: 767px) {
  .mv .mv_slide {
    height: 67rem;
    border-bottom-right-radius: 1rem;
  }
  .mv .in {
    position: static;
    transform: unset;
    padding: 0;
  }
  .mv .in .df_ttl .ttl_h2 {
    position: absolute;
    width: 16.05rem;
    right: 1rem;
    top: 3rem;
    z-index: 2;
    margin: 0;
  }
  .mv .in .txt {
    position: absolute;
    top: 0;
    left: 50%;
    display: flex;
    justify-content: flex-end;
    flex-direction: column;
    width: 100%;
    height: 67rem;
    padding: 0 2rem 5rem;
    transform: translateX(-50%);
    z-index: 2;
  }
  .top_hours {
    position: static;
    width: 100%;
    padding: 4rem 1rem;
    border-radius: 0;
  }
  .top_news.pc_news {
    display: none;
  }
  .mv .top_news {
    display: flex;
    padding: 0 2.6rem 0 2rem;
    background: var(--color-white);
  }
  .top_news .ttl_h2 {
    font-size: 1.4rem;
    width: max-content;
    min-width: max-content;
  }
  .top_news .swiper_controll {
    margin-left: -1rem;
  }
  .top_news .news_slide.swiper {
    height: 7rem;
    width: 22.2rem;
  }
  .top_news .news_slide .swiper-slide a {
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
  }
  .top_news .news_slide .swiper-slide a time {
    font-size: 1.2rem;
    width: auto;
    line-height: 1;
  }
  .top_news .news_slide .swiper-slide a span {
    width: 100%;
    line-height: 1.4;
    -webkit-line-clamp: 2;
  }
}


/* ----------------------------------
message
---------------------------------- */
.message {
  padding: 15rem 0 22rem;
}
.message .in {
  position: relative;
}
.message .df_ttl {
  position: relative;
  z-index: 1;
  max-width: 75rem;
  margin: 0 auto;
}
.message .df_ttl::after {
  position: absolute;
  top: -8rem;
  left: 40rem;
  content: "";
  display: block;
  width: 34rem;
  height: 40.8rem;
  background: url(../img/top/message_icon.png) center/contain no-repeat;
  z-index: -1;
}
.message .in img {
  position: absolute;
}
.message .in img:nth-of-type(1) {
  top: -3.5rem;
  left: -18.6rem;
  width: 35rem;
}
.message .in img:nth-of-type(2) {
  top: -12.6rem;
  right: -14.3rem;
  width: 25.6rem;
}
.message .in img:nth-of-type(3) {
  bottom: -14.6rem;
  right: 6.4rem;
  width: 35rem;
}
@media screen and (max-width: 767px) {
  .message {
    padding: 8rem 0 46.7rem;
  }
  .message .in img:nth-of-type(1) {
    width: 16rem;
    top: auto;
    left: -1rem;
    bottom: -26.5rem;
  }
  .message .in img:nth-of-type(2) {
    top: auto;
    bottom: -22.3rem;
    width: 16rem;
    right: 3rem;
  }
  .message .in img:nth-of-type(3) {
    width: 20.1rem;
    right: 4.9rem;
    bottom: -39.7rem;
  }
  .message .df_ttl::after {
    width: 21rem;
    height: 25.2rem;
    top: -7rem;
    left: 17.6rem;
  }
}


/* ----------------------------------
about
---------------------------------- */
.about {
  padding-top: 15rem;
}
.about .in {
  display: flex;
  align-items: center;
  gap: 10rem;
  padding-left: 4rem;
  padding-bottom: 8rem;
}
.about .in .flex_img {
  position: relative;
  width: 50rem;
}
.about .in .flex_img .img {
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 63rem;
  border-radius: 2.4rem;
}
.about .in .flex_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.about .in .flex_img::before {
  position: absolute;
  top: -7rem;
  left: -28rem;
  content: "";
  display: block;
  width: 32.7rem;
  height: 30rem;
  background: url(../img/top/about_bg1.png) center/contain no-repeat;
}
.about .in .flex_img::after {
  position: absolute;
  right: -8rem;
  bottom: -8rem;
  content: "";
  display: block;
  width: 8rem;
  height: 8rem;
  background: url(../img/top/about_bg2.png) center/contain no-repeat;
}
.about .in .flex_txt {
  width: 56rem;
}
.about .txt strong {
  font-weight: 600;
  display: block;
}
.about .txt span {
  display: block;
}
@media screen and (max-width: 767px) {
  .about {
    padding-top: 8rem;
  }
  .about .in {
    flex-direction: column-reverse;
    padding: 0 2rem;
    gap: 9rem;
  }
  .about .in .flex_txt {
    width: 100%;
  }
  .about .in .flex_img {
    max-width: 26rem;
    margin: 0 auto;
  }
  .about .in .flex_img .img {
    height: 32.8rem;
    border-radius: 1.2rem;
  }
  .about .in .button {
    margin: 3.6rem auto 0;
  }
  .about .in .flex_img::before {
    top: -4rem;
    left: -17rem;
    width: 21.5rem;
    height: 20.4rem;
  }
  .about .in .flex_img::after {
    bottom: -5.4rem;
    right: -5.4rem;
    width: 5.4rem;
    height: 5.4rem;
  }
  .about .txt span + strong {
    margin-top: 1em;
  }
}


/* ----------------------------------
treatment
---------------------------------- */
.treatment {
  padding: 10.6rem 0 0;
}
.treatment .in {
  max-width: 140rem;
}
.treatment .in .flex {
  gap: 8rem;
  align-items: center;
  max-width: 120rem;
  margin: 0 auto;
}
.treatment .in .flex .df_ttl {
  width: 56rem;
}
.treatment .in .flex_txt {
  width: 56rem;
}

.treatment .in .df_ttl {
  text-align: center;
}
.treatment .in .df_ttl .ttl_h2 .en {
  width: max-content;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (max-width: 767px) {
  .treatment {
    padding: 11rem 0 0;
  }
  .treatment .in .flex {
    display: block;
  }
  .treatment .in .flex .df_ttl,
  .treatment .in .flex_txt {
    width: 100%;
  }
}



/* ----------------------------------
gynecology
---------------------------------- */
.gynecology {
  padding: 16rem 0 10rem;
}
.gynecology .in {
  display: flex;
  align-items: center;
  gap: 10rem;
}
.gynecology .in .flex_txt {
  width: 56rem;
}
.gynecology .in .flex_img {
  position: relative;
  overflow: hidden;
  margin-right: -20rem;
  width: 74rem;
  height: 64rem;
  border-top-left-radius: 2.4rem;
  border-bottom-left-radius: 2.4rem;
}
.gynecology .in .flex_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1599px) {
  .gynecology .in .flex_img {
    border-radius: 2.4rem;
  }
}
.gynecology .in .flex_txt .list {
  display: flex;
  flex-wrap: wrap;
  gap: 1.8rem 0;
  padding: 2.7rem 4rem;
  margin-top: 3rem;
  background: var(--color-white);
  border: 1px solid #d6cfcf;
}
.gynecology .in .flex_txt .list li {
  width: 50%;
  padding-left: 3rem;
  font-size: 1.6rem;
  background: url(../img/common/icon_check.png) center left/2rem auto no-repeat;
}
@media screen and (max-width: 767px) {
  .gynecology {
    padding: 7rem 0 0;
  }
  .gynecology .in {
    flex-direction: column-reverse;
    gap: 4.6rem;
  }
  .gynecology .in .flex_img {
    border-radius: 0;
    width: calc(100% + 4rem);
    height: 27.3rem;
    margin: 0 -2rem;
    border-radius: 0;
  }
  .gynecology .in .flex_txt {
    width: 100%;
  }
  .gynecology .in .flex_txt .list {
    display: block;
    padding: 2.7rem 4rem;
  }
  .gynecology .in .flex_txt .list li {
    width: auto;
    font-size: 1.5rem;
  }
  .gynecology .in .flex_txt .list li + li {
    margin-top: 1.5rem;
  }
}



/* ----------------------------------
supplement
---------------------------------- */
.supplement {
  padding-top: 16rem;
}
.supplement .in {
  display: flex;
  gap: 11rem;
  align-items: center;
}
.supplement .in .flex_img {
  position: relative;
  overflow: hidden;
  width: 64rem;
  margin-left: -20rem;
  height: 50rem;
  border-top-right-radius: 2.4rem;
  border-bottom-right-radius: 2.4rem;
}
.supplement .in .flex_img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.supplement .in .flex_txt {
  width: 56rem;
}
@media screen and (min-width: 1599px) {
  .supplement .in .flex_img {
    border-radius: 2.4rem;
  }
}
@media screen and (max-width: 767px) {
  .supplement {
    padding: 7rem 0 0;
  }
  .supplement .in {
    flex-direction: column;
    gap: 4.6rem;
  }
  .supplement .in .flex_img {
    width: calc(100% + 4rem);
    margin: 0 -2rem;
    height: 27.3rem;
    border-radius: 0;
  }
  .supplement .in .flex_txt {
    width: 100%;
  }
  .supplement .in .button {
    margin: 3.6rem auto 0;
  }
}



/* ----------------------------------
visitors
---------------------------------- */
.visitors {
  padding: 15rem 0 7.5rem;
}
.visitors .df_ttl {
  text-align: center;
}
.visitors .df_ttl .ttl_h2 .en {
  width: max-content;
  margin: 0 auto 3.6rem;
}
.visitors .flex {
  position: relative;
  gap: 4rem;
  flex-wrap: wrap;
}
.visitors .flex::before {
  position: absolute;
  top: -15.8rem;
  left: -17.8rem;
  content: "";
  display: block;
  width: 25.8rem;
  height: 27.9rem;
  background: url(../img/top/visitors_bg1.png) center/contain no-repeat;
}
.visitors .flex::after {
  position: absolute;
  bottom: -7rem;
  right: -16rem;
  content: "";
  display: block;
  width: 22rem;
  height: 22.2rem;
  background: url(../img/top/visitors_bg2.png) center/contain no-repeat;
}
.visitors .flex .item {
  position: relative;
  width: calc(50% - 2rem);
  border-radius: 1rem;
  background: var(--color-white);
  box-shadow: 0 0.3rem 2rem rgb(0 0 0 / 0.1);
  z-index: 1;
}
.visitors .flex .item.wide {
  padding: 6rem 10rem;
  width: 100%;
  background: url(../img/top/visitors_link_bg.jpg) center right/auto 100% no-repeat;
}
.visitors .flex .item.wide .ttl_h3 {
  font-size: 2.8rem;
  font-family: var(--font-ja2);
  letter-spacing: 0.06em;
  margin-bottom: 2.6rem;
}
.visitors .flex .item:not(.wide) {
  padding: 4rem 6rem 4rem 16rem;
}
.visitors .flex .item:not(.wide) > img {
  position: absolute;
  top: 50%;
  left: 4rem;
  width: 8rem;
  height: 8rem;
  transform: translateY(-50%);
}
.visitors .flex .item:not(.wide) .ttl_h4 {
  margin-bottom: 2rem;
  font-size: 2.2rem;
  font-weight: var(--bold);
}
.visitors .flex .item:not(.wide) .button_line {
  margin-top: 1rem;
}
@media screen and (max-width: 767px) {
  .visitors {
    padding: 13.6rem 0 0;
  }
  .visitors .df_ttl {
    position: relative;
    z-index: 2;
  }
  .visitors .df_ttl .ttl_h2 .en {
    margin-bottom: 2.6rem;
  }
  .visitors .flex {
    gap: 2rem;
  }
  .visitors .flex .item {
    position: relative;
    z-index: 2;
  }
  .visitors .flex .item.wide {
    margin-bottom: 2rem;
    padding: 22.6rem 2.5rem 5rem;
    background-image: url(../img/top/visitors_link_bg_sp.jpg)
  }
  .visitors .flex .item.wide .ttl_h3 {
    font-size: 2.4rem;
    margin-bottom: 1.6rem;
  }
  .visitors .flex .item:not(.wide) {
    width: 100%;
    padding: 13.6rem 2rem 3.6rem;
    text-align: center;
  }
  .visitors .flex .item:not(.wide) > img {
    top: 3rem;
    left: 50%;
    transform: translateX(-50%);
  }
  .visitors .flex .item:not(.wide) .ttl_h4 {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  .visitors .flex .item:not(.wide) .button_line {
    margin: 2rem auto 0;
  }
  .visitors .flex::before {
    width: calc(100% + 4rem);
    height: 29.6rem;
    left: -2rem;
    top: -15.8rem;
    background-image: url(../img/top/visitors_bg1_sp.png);
  }
  .visitors .flex::after {
    width: 11.3rem;
    height: 11.8rem;
    bottom: -8.4rem;
    right: -0.2rem;
    background-image: url(../img/top/visitors_bg2_sp.png);
  }
}






/* ----------------------------------
news
---------------------------------- */
.news {
  padding: 14rem 0;
}
@media screen and (max-width: 767px) {
  .news {
    padding: 9rem 0;
  }
}


/* ----------------------------------
column
---------------------------------- */
.column .df_ttl {
  position: relative;
}
.column .df_ttl .ttl_h2 {
  margin: 0;
}
.column .df_ttl .swiper_controll {
  position: absolute;
  right: 0;
  bottom: 0;
  display: flex;
  gap: 1rem;
}
.column .swiper-button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5rem;
  height: 5rem;
  border-radius: 100%;
  border: 1px solid #d6cfcf;
  cursor: pointer;
  background: var(--color-white);
  transition: .3s;
}
.column .swiper-button img {
  width: 0.5rem;
}
.column .swiper-button-prev-column {
  transform: rotate(-180deg);
}
@media screen and (min-width: 768px) {
  .column .swiper-button:not(.swiper-button-disabled):hover {
    background: var(--color-pink);
    border-color: var(--color-pink);
  }
}
@media screen and (max-width: 767px) {
  .column .df_ttl {
    margin-bottom: 2rem;
  }
  .column .df_ttl .ttl_h2 {
    margin-bottom: 3.5rem;
  }
  .column .df_ttl .swiper_controll {
    position: static;
    gap: 0.8rem;
    margin-top: 2rem;
    justify-content: flex-end;
  }
  .column .swiper-button {
    width: 4rem;
    height: 4rem;
  }
}