@charset "UTF-8";
/* CSS Document */
html {
  font-size: 62.5%; /* 16px * 62.5% = 10px */
  width: 100%;
  overflow-x: hidden;
}
body {
  color: #333; /* RGB */
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 500;
  font-size: 1.6em;
  line-height: 2.4rem;
  text-align: center;
}
section h2 {
  font-size: 2.4rem;
}
a:hover {
  opacity: 0.5;
}
.none {
  display: none;
}
*, *:before, *:after {
  box-sizing: border-box;
}
/*----------header共通----------*/
/*----------header_sp----------*/
#header {
  height: 80px;
  width: 100%;
  background-color: #fff;
  z-index: 9999;
  position: sticky;
  top: 0;
}
#header h1 {
  color: #ffa000;
  text-align: left;
  padding: 26px 26px 15px 22px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.8rem;
  letter-spacing: 0.06em;
}
#header a {
  text-decoration: none;
}
.header-content-wrapper__span {
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.03em;
}
.openbtn__wrapper {
  position: absolute;
  right: 24px;
  top: 15px;
}
.header_button_tel {
  position: fixed;
  top: 22px;
  right: 138px;
  color: #ffa000;
  padding: 0 9px 0 9px;
  line-height: 2.3rem;
}
.header_button_tel span {
  font-size: 1.3rem;
  font-weight: 500;
  margin-top: 10px;
  letter-spacing: 0.08em;
}
.header_button_tel__wrapper {
  position: fixed;
  top: 22px;
  right: 138px;
  height: 46px;
  width: 47px;
  border-right: 1px solid #e6e6e6;
  border-left: 1px solid #e6e6e6;
}
/*----------header_sp_受付診療時間_ボタン----------*/
.header_button__wrapper {
  position: fixed;
  top: 22px;
  right: 65px;
  height: 46px;
  width: 73px;
  border-right: 1px solid #e6e6e6;
}
#header_button {
  text-decoration: none;
  position: fixed;
  top: 22px;
  right: 65px;
  font-size: 1.3rem;
  font-weight: 500;
  color: #ffa000;
  line-height: 2.2rem;
  padding: 0 9px 0 9px;
  letter-spacing: 0.06em;
}
.header_button-text {
  color: #ffa000;
}
/*時計マーク*/
.dli-clock {
  text-decoration: none;
  display: inline-block;
  vertical-align: middle;
  color: #ffa000;
  line-height: 1;
  position: relative;
  width: 1.5em;
  height: 1.5em;
  border: 0.2em solid currentColor;
  border-radius: 50%;
  box-sizing: content-box;
}
.dli-clock::before, .dli-clock::after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 50%;
  background: currentColor;
  border-radius: 0.5em;
  transform: translate(-0.05em, 0.05em);
}
.dli-clock::before {
  width: 0.15em;
  height: 0.45em;
}
.dli-clock::after {
  width: 0.4em;
  height: 0.15em;
}
/*----------header_sp_ハンバーガー----------*/
@media(max-width: 959px) {
  /*========= ナビゲーションのためのCSS ===============*/
  .header__navigation.panelactive {
    /*position:fixed;にし、z-indexの数値を小さくして最背面へ*/
    position: fixed;
    z-index: -1;
    opacity: 0; /*はじめは透過0*/
    /*ナビの位置と形状*/
    top: 0;
    width: 100%;
    height: 100vh; /*ナビの高さ*/
    background: #ffa000;
    /*動き*/
    transition: all 0.3s;
    padding-top: 40px;
  }
  /*アクティブクラスがついたら透過なしにして最前面へ*/
  #nav-content.panelactive {
    opacity: 1;
    z-index: 999;
  }
  /*ナビゲーション*/
  #nav-content ul {
    display: none;
    /*ナビゲーション天地中央揃え*/
    /*    position: absolute;*/
    z-index: 999;
    top: 290px;
    left: 50%;
    /*    transform: translate(-50%, -50%);*/
  }
  #nav-content.panelactive ul {
    display: block;
  }
  #nav-content.panelactive ul ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    top: 320px;
    margin: 0 auto;
    max-width: 500px;
  }
  #nav-content.panelactive ul ul li {}
  #nav-content.panelactive ul ul li dt {}
  /*リストのレイアウト設定*/
  #nav-content li {
    list-style: none;
    text-align: center;
  }
  #header nav ul li.has-child > a::before {
    display: none;
    content: '';
    position: absolute;
    top: 15px;
    left: 118px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    transform: rotate(135deg);
    margin-right: 10px;
  }
  #nav-content li a {
    color: #fff;
    text-decoration: none;
    display: inline-block;
    letter-spacing: 0.1em;
  }
  .header__navigation-1 {
    color: #fff;
    text-decoration: none;
    padding: 8px;
    text-transform: uppercase;
    font-weight: 500px;
    position: relative;
  }
  .header__navigation-2 {
    display: none;
  }
  .none {
    display: block;
  }
  /*========= ボタンのためのCSS ===============*/
  .openbtn {
    position: fixed;
    z-index: 9999; /*ボタンを最前面に*/
    top: 10px;
    right: 10px;
    cursor: pointer;
    width: 50px;
    height: 50px;
    border-radius: 5px;
  }
  /*×に変化*/
  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
    background-color: #ffa000;
    width: 45%;
  }
  .openbtn span:nth-of-type(1) {
    top: 15px;
  }
  .openbtn span:nth-of-type(2) {
    top: 23px;
  }
  .openbtn span:nth-of-type(3) {
    top: 31px;
  }
  .openbtn span:nth-of-type(3)::after {
    content: "menu";
    font-size: 1.4rem;
    position: absolute;
    top: 4px;
    left: -8px;
    text-transform: uppercase;
    color: #ffa000;
    letter-spacing: 0.06em;
  }
  .openbtn.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
    background-color: #fff;
    color: #fff;
  }
  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  .openbtn.active span:nth-of-type(3) {
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
    background-color: #fff;
    color: #fff
  }
  .openbtn.active span:nth-of-type(3)::after {
    content: "close";
    transform: translateY(0) rotate(-45deg);
    top: 3px;
    left: 0px;
    color: #fff;
  }
}
/*----------header_sp_受付診療時間----------*/
#top_biz-hour__wrapper3 {
  display: none;
}
.top_biz-hour__wrapper2 {
  display: none;
}
#top_biz-hour__wrapper2_2 {
  display: none;
}
#top_biz-hour__wrapper2_1 {
  display: none;
}
/*スクロール時にシャドウをつける*/
#header.active {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
}
/*----------header_pc----------*/
@media(min-width: 960px) {
  /*----------header_pc_sp用受付診療時間_ボタン----------*/
  #header_button {
    display: none;
  }
  .header_button__wrapper {
    display: none;
  }
  .header_button_tel {
    display: none;
  }
  .header_button_tel__wrapper {
    display: none;
  }
  a[href^="tel:"] {
    pointer-events: none;
  } /*  768以下で発信しない*/
  #header {
    height: 100px;
    width: 100%;
  }
  .header-content-wrapper {
    max-width: 1160px;
    margin: 0 auto;
    position: relative;
  }
  #header h1 {
    font-size: 2.6rem;
    padding: 40px 0px 15px 25px;
    position: absolute;
    left: 0;
  }
  .header-content-wrapper__span {
    font-size: 1.8rem;
    font-weight: 400;
    letter-spacing: 0.02em;
  }
  .openbtn__wrapper {
    display: none;
  }
  #header nav {
    display: flex;
    justify-content: flex-end;
  }
  #header nav ul {
    /*2階層目の基点にするためrelativeを指定*/
    position: relative;
    list-style: none;
    display: flex;
  }
  /*2階層目以降は横並びにしない*/
  #header nav ul ul {
    display: block;
  }
  /*ナビゲーションのリンク設定*/
  .header__navigation-1 {
    /*矢印の基点にするためrelativeを指定*/
    position: relative;
    display: block;
    text-decoration: none;
    color: #ffa000;
    margin: 55px 25px 20px 25px;
    transition: all .3s;
  }
  /*ナビゲーションのリンク設定*/
  .header__navigation-2 {
    /*矢印の基点にするためrelativeを指定*/
    position: relative;
    display: block;
    text-decoration: none;
    color: #ffa000;
    padding: 10px 5px 10px 5px;
    transition: all .3s;
  }
  #header nav ul li a:hover {
    color: #ffcf80;
    opacity: 1;
  }
  /*==矢印の設定*/
  /*2階層目を持つliの矢印の設定*/
  #header nav ul li.has-child > a::before {
    content: '';
    position: absolute;
    left: 102px;
    top: 7px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #ffa000;
    border-right: 2px solid #ffa000;
    transform: rotate(135deg);
    margin-right: 10px;
  }
  /*==2階層目以降の画像設定*/
  #header nav ul li.has-child img {
    /*	height: auto;*/
    transition: all .5s;
    vertical-align: bottom;
  }
  /*hoverしたら画像拡大*/
  #header nav ul li.has-child img:hover {
    transform: scale(1.15);
  }
  #header nav ul li.has-child dt {
    /*	overflow: hidden;*/
    /*	height: 20vh;*/
    padding: 0 5px 0 5px;
    display: inline-block;
  }
  /*追加*/
  #header nav ul li.has-child dl {
    display: inline-block;
  }
  /*== 2層目の設定 */
  #header nav li.has-child ul {
    /*絶対配置で位置を指定*/
    position: absolute;
    right: 0;
    z-index: 4;
    /*子要素を横並びに*/
    display: flex;
    justify-content: space-between;
    /*形状を指定*/
    background: rgba(255, 160, 0, 0.5);
    /*はじめは非表示*/
    visibility: hidden;
    opacity: 0;
    /*アニメーション設定*/
    transition: all .3s;
  }
  /*hoverしたら表示*/
  #header nav li.has-child:hover > ul {
    visibility: visible;
    opacity: 1;
  }
  /*各ナビゲーション横幅*/
  #header nav li.has-child ul li {
    width: 50%;
  }
  /*ナビゲーションaタグの形状*/
  #header nav li.has-child ul li a {
    color: #fff;
  }
  #header nav li.has-child ul li a:hover, #header nav li.has-child ul li a:active {
    background: #ee869a;
  }
  /*----------header_pc_受付診療時間----------*/
  #top_biz-hour__wrapper3 {
    display: block;
    position: relative;
    margin: 0 auto;
  }
  .top_biz-hour__wrapper2 {
    position: absolute;
    right: 0;
    top: 253px;
    display: flex;
    justify-content: flex-end;
    max-width: 430px;
  }
  #top_biz-hour__wrapper2_2 {
    position: static;
    writing-mode: vertical-rl;
    color: #fff;
    text-align: center;
    font-size: 2.0rem;
    font-weight: 500;
    height: 300px;
    width: 60px;
    background-color: #ffa000;
    display: block;
    margin: 0 auto;
    border-radius: 20px 0 0 20px;
    padding: 0 18px;
  }
  #top_biz-hour__wrapper2_1 {
    height: 300px;
    width: 370px;
    background-color: #fff;
    display: none;
    margin: 0 auto;
  }
  .top_biz-hour__text_1 {
    color: #ee869a;
    text-align: left;
    background-color: #fff1d9;
    height: 68px;
    width: 370px;
    padding: 10px 0 10px 30px;
  }
  .top_biz-hour {
    display: block;
    border-collapse: collapse;
    /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
    overflow-x: scroll;
    color: #333;
    max-width: 375px;
    padding: 15px 20px 10px 20px;
  }
  .top_biz-hour th, .top_biz-hour td {
    padding: 8px 8px;
    /*  padding: 10px 20px;*/
    text-align: center;
    /* ２番目以降の線 */
    /* 色はお好みで */
    border-bottom: 2px solid #e6e6e6;
  }
  .top_biz-hour__text_2 {
    color: #ffa000;
  }
  /* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
  .top_biz-hour__text_3 {
    position: absolute;
    color: #333;
    margin: 0 0 0 30px;
    font-weight: 500;
  }
  .top_biz-hour__text_3 span {
    color: #ffa000;
  }
  .top_biz-hour__text_4 {
    margin: 0 0 0 30px;
    position: absolute;
    top: 250px;
    font-weight: 500;
    font-size: 2.0rem;
  }
  .top_biz-hour__text_4 span {
    color: #ffa000;
    font-size: 2.4rem;
  }
}
/*=== 9-1-2 丸が動いてスクロールを促す ====*/
/*スクロールダウン全体の場所*/
.scrolldown2 {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  bottom: 0;
  left: 40px;
  z-index: 9998;
}
/*Scrollテキストの描写*/
.scrolldown2 span {
  /*描画位置*/
  position: absolute;
  left: -9px;
  bottom: 55px;
  /*テキストの形状*/
  color: #ee869a;
  font-size: 1.1rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}
/* 丸の描写 */
.scrolldown2:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: -4px;
  /*丸の形状*/
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ee869a;
  /*丸の動き1.6秒かけて透過し、永遠にループ*/
  animation:
    circlemove 1.6s ease-in-out infinite, cirlemovehide 1.6s ease-out infinite;
}
/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove {
  0% {
    bottom: 45px;
  }
  100% {
    bottom: -5px;
  }
}
/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide {
  0% {
    opacity: 0
  }
  50% {
    opacity: 1;
  }
  80% {
    opacity: 0.9;
  }
  100% {
    opacity: 0;
  }
}
/* 線の描写 */
.scrolldown2:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  left: 0;
  /*線の形状*/
  width: 2px;
  height: 50px;
  background: #ee869a;
}
@media(min-width: 768px) {
  .scrolldown2 {
    /*描画位置※位置は適宜調整してください*/
    position: absolute;
    bottom: 0;
    left: 30px;
    z-index: 9998;
  }
}
/*----------トップに戻るボタン----------*/
/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #ee869a;
  border-radius: 50%;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.6rem;
  transition: all 0.3s;
  position: relative;
}
#page-top a::before {
  position: absolute;
  top: 23px;
  /* ④絶対必要 */
  content: "";
  display: block;
  /* ⑤三角のサイズ */
  width: 20px;
  height: 20px;
  /* ⑥三角の線と回転角度 */
  border-top: 3px solid white;
  border-right: 3px solid white;
  transform: rotate(-45deg);
}
#page-top a:hover {
  background: #ee869a;
}
/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  z-index: 998;
  /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}
/*　上に上がる動き　*/
#page-top.UpMove {
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
/*　下に下がる動き　*/
#page-top.DownMove {
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 1;
    transform: translateY(100px);
  }
}
/*----------footer共通----------*/
/*----------footer_sp----------*/
#footer {
  min-height: 525px;
  background-color: #ffa000;
  padding-top: 42px;
  padding-bottom: 20px;
  font-weight: 500;
  position: relative;
}
.biz-hour__wrapper {
  margin: 0 24px 24px 24px;
  position: relative;
}
.biz-hour {
  border-collapse: collapse;
  /* overflow-x: scroll;で、
  スマホ画面幅に表が入りきらない場合は
  横スクロールしてくれます */
  overflow-x: scroll;
  color: #fff;
  max-width: 375px;
  margin: 0 auto;
}
.biz-hour th, .biz-hour td {
  padding: 8px 8px;
  /*  padding: 10px 20px;*/
  text-align: center;
  /* ２番目以降の線 */
  /* 色はお好みで */
  border-bottom: 2px solid #fff;
}
/* スマホ時に横スクロールしないよう、横の余白（padding）を20px→10pxに */
.biz-hour__text {
  max-width: 324px;
  color: #fff;
  margin: 10px auto 0 auto;
  font-weight: 500;
  text-align: left;
  display: block;
  padding-left: 10px;
}
.footer__text_1 {
  color: #fff;
  max-width: 324px;
  margin: 30px auto 50px auto;
  text-align: left;
}
#footer address {
  color: #fff;
  font-style: normal;
  text-align: left;
  margin: 0 auto;
  max-width: 324px;
}
.section-access address {
  font-style: normal;
  text-align: left;
  margin: 0 24px 0 24px;
}
.footer-address__span01 {
  color: #fff;
  font-size: 2.4rem;
}
.footer-address__span02 {
  font-size: 2.0rem;
}
.footer-address__span03 {
  font-size: 2.4rem;
  pointer-events: none;
  text-decoration: none;
}
.footer__copyright {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  text-align: center;
  color: #fff;
}
/*----------footer_pc----------*/
@media(min-width:960px) {
  #footer {
    min-height: 300px;
    background-color: #ffa000;
    padding-top: 0px;
    padding-bottom: 20px;
  }
  .footer__wrapper {
    max-width: 1000px;
    margin: 0 auto;
    padding-top: 50px;
    position: relative;
  }
  .biz-hour__wrapper {
    margin: 0 24px 24px 24px;
    float: right;
  }
  .footer__text_1 {
    position: absolute;
    margin: 0 auto 50px auto;
    text-align: left;
    left: 35%;
  }
  #footer address {
    color: #fff;
    font-style: normal;
    text-align: left;
    margin: 0 0 0 24px;
  }
}