@charset "utf-8";

/*=======================

共通

========================*/
/*コンテンツスクロール
------------------------*/
.scroll-fade {
  opacity: 0;
}

/*下からフェードイン01*/
.scroll-fade-item.-fadeUp {
  animation-name: fadeUp;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(300px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*下からフェードイン02*/
.scroll-fade-item.-fadeUp2 {
  animation-name: fadeUp2;
  animation-duration: 2s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUp2 {
  from {
    opacity: 0;
    transform: translateY(50px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* .scroll-fade-item.-delay1 {
  animation-delay: .3s;
}
.scroll-fade-item.-delay2 {
  animation-delay: .6s;
} */

/*共通
------------------------*/
/*section（共通）*/
.access_sec {
  position: relative;
}

/*section(奇数ver)*/
.access_sec:nth-of-type(2n-1) {
  background: #eee;
}

/*section（奇数ver-波模様画像）
.access_sec:nth-of-type(2n-1)::before {
  content: "";
  background: url(../img/sec_bg_deco01_grey.webp) repeat;
  position: absolute;
  left: 0;
  bottom: -15px;
  width: 100%;
  height: 15px;
  z-index: 2;
}

section(偶数ver-波模様画像)
.access_sec:nth-of-type(2n)::before {
  content: "";
  background: url(../img/sec_bg_deco01_white.webp) repeat;
  position: absolute;
  left: 0;
  bottom: -15px;
  width: 100%;
  height: 15px;
  z-index: 2;
}
*/

/*flexbox*/
.lower_flex02 > .lower_flex02_item {
  padding-top: 0; /*lower.cssの打ち消し*/
}

/*access_page
------------------------*/
/*section（奇数ver-波模様画像）の打ち消し
#access_page::before {
  content: none;
}
*/

/*Googleマップ*/
#access_page .googlemap {
  height: 450px;
}
#access_page .googlemap iframe {
  width: 100%;
  height: 100%;
  border: 0;
}

/*地図*/
#access_page .map.lower_flex02 {
  /*flexbox*/
  align-items: center;
}

/*医院情報*/
#access_page .footer_container {
  /*flexbox*/
  align-items: center;
  /*other*/
  padding: 0;
}
#access_page .footer_left-group1 {
  margin-bottom: 0;
}
#access_page .access_button-link {
  margin-top: 0;
}

/*交通機関*/
#access_page .transportation.lower_flex02 {
  gap: 50px 5px;
}

/*交通機関（電車）*/
#access_page .train.lower_flex02_item.lower_white_bg {
  position: relative;
  padding-top: 40px;
}
#access_page .train::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: -33px;
  margin: 0 auto;
  width: 53px;
  height: 66px;
  background: url(../img/icon_train01.webp) no-repeat center / contain;
}
#access_page .train .lower_ttl04,
#access_page .train .list_dot.txt {
  max-width: 480px;
  margin-right: auto;
  margin-left: auto;
}
#access_page .train .list_dot.txt > li {
  margin: 0;
}

/*交通機関（車）*/
#access_page .bus.lower_flex02_item.lower_white_bg {
  position: relative;
  padding-top: 40px;
}
#access_page .bus::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: -28px;
  margin: 0 auto;
  width: 75px; /*89px*/
  height: 56px; /*66px*/
  background: url(../img/icon_car01.webp) no-repeat center / contain;
}
#access_page .bus .lower_ttl04,
#access_page .bus .txt {
  max-width: 480px;
  margin-right: auto;
  margin-left: auto;
}

/*道順*/
#access_page .route {
  position: relative;
  padding-top: 40px;
}
#access_page .route::after {
  content: "";
  position: absolute;
  right: 0;
  left: 0;
  top: -40px;
  margin: 0 auto;
  width: 75px;
  height: 66px;
  background: url(../img/icon_route01.webp) no-repeat center / contain;
}
#access_page .route .img01 {
  position: relative;
  padding-bottom: 72px;
}
#access_page .route .img02 {
  position: absolute;
  left: -72px;
  bottom: 0;
}

/*外観写真*/
#access_page #access_flex .lower_ttl04::before {
  content: "";
  border: solid 3px var(--color01);
  border-radius: 50%;
  width: 20px;
  height: 20px;
  margin-right: 8px;
  display: inline-block;
  position: relative;
  top: 3px;
}

/*=======================

0〜1200px

========================*/
@media screen and (max-width: 1200px) {
}

/*=======================

0〜1080px

========================*/
@media screen and (max-width: 1080px) {
}

/*=======================

0〜834px

========================*/
@media screen and (max-width: 834px) {
  /*access_page
  ----------------------*/
  /*交通機関*/
  #access_page .transportation.lower_flex02 > .lower_flex02_item {
    max-width: 100%;
  }
}

/*=======================

0〜667px

========================*/
@media screen and (max-width: 667px) {
  /*access_page
  ----------------------*/
  /*診療時間*/
  #access_page .hours_table-head th:nth-of-type(1),
  #access_page .hours_table .hours_table-am th,
  #access_page .hours_table .hours_table-pm th {
    padding: 0;
    letter-spacing: 0;
  }

  /*交通機関（電車）*/
  #access_page .train::after {
    top: -23px;
    width: 43px;
    height: 53px;
  }

  /*交通機関（車）*/
  #access_page .bus::after {
    top: -18px;
    width: 65px;
    height: 48px;
  }

  /*道順*/
  #access_page .route::after {
    top: -35px;
    width: 65px;
    height: 57px;
  }
  #access_page .route .img01 {
    padding-bottom: 120px;
  }
  #access_page .route .img02 {
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
