/*-----------------------------

＃ヘッダー

-----------------------------*/

#header{}

.header-wrap{
  max-width: 1140px;
  margin-left: auto;
  margin-right: auto;
  justify-content: space-between;
  display: flex;
}

.header-left,.header-right{ padding: 10px;}

.lead{
  font-size: 12px;
  padding-bottom:10px;
  color: #636e7f;
}
@media (max-width: 599px) {
.lead{
  font-size: 9px;
  padding-bottom: 5px;
}
}

.header-logo {
  font-weight: bold;
  font-size: 20px;
}

.header-logo img{width: 20rem;}

@media (max-width: 599px) {
.header-logo { top: -0.5rem;}
.header-logo img{width: 16rem;}
}

@media (max-width: 599px) {
  .wrapper {
    max-width: 1140px;
    padding-left: 1rem;
    padding-right: 1rem;
    margin-left: auto;
    margin-right: auto;
}
}

/*-----------------------------

＃Function

-----------------------------*/

.function-navi-wrap{}
.function-navi{
  display: flex;
  justify-content: flex-end;
  align-items: center;
}

@media (max-width: 599px) {

/*.function-navi-wrap{
  width: 100%;
  padding: 0.5em;
  margin-left: auto;
  margin-right: auto;
  position: fixed;
  bottom: 0;
  background-color:rgba(255,255,255,0.8);
}

.function-navi{
  display: flex;
  justify-content: space-between;
  align-items: center;
}*/
}


/*-----------------------------
header電話ボタン
-----------------------------*/

.header-tel{
  font-weight: bold;
  color: #476184;
}

.header-tel-wrap{
  display: flex;
  flex-direction: column;
  align-items: baseline;
}

.header-tel-text{ font-size: 9px;}

.header-tel-link{
  font-size: 26px;
  display: block;
  color: #476184;
  font-feature-settings: "palt";
}

.header-tel-icon{width: 20px;}


@media (max-width: 599px) {
.header-tel{width: 49%;}

.header-tel-wrap{
  background-color: #f8f8f8;
  border: #bfcfd5 solid 1px;
  border-radius: 4px;
  padding: 0.6em;
  display: flex;
  flex-direction: column;
}
.heade-tel-link{
  display: inline-flex;
  align-items: center;
  font-size: 1em;
}

.heade-tel-link img{
  margin-right: 0.3em;
}

.heade-tel-link-text{
  font-size: 0.5em;
}

}

/*-----------------------------
headerCVボタン
-----------------------------*/

.header-CV{padding-left: 1rem;}

.header-CV-wrap{
  display: inline-flex;
  flex-direction: column;
  align-items: baseline;
}

.header-CV-icon{
  padding-right: 0.3em;
  width: 20px;
}

.header-CV-wrap a {
  display: flex;
  align-items: center;
  background-color: #084e8f;
  border-radius: 4px;
  color: #FFF;
  font-weight: bold;
  padding: 10px 2rem;
  transition : all 0.5s ease 0s;
}

.header-CV-wrap a:hover{background-color: #1976b7;}


@media (max-width: 599px) {
.header-CV{width: 49%;padding-left: 0;}
.header-CV-wrap a {
  padding: 1rem;
  display: inline-flex;
}
.header-CV-link{
    width: 100%;
    display: flex;
    padding: 1rem;
}
}


/*-----------------------------

＃navi

-----------------------------*/


.site-header {
  position: relative;
  background-color: #def7ff;
}

.site-header-wrapper {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

@media (max-width: 599px) {
.site-header-wrapper {
  padding-top: 0.9rem;
  padding-bottom: 0;
}
}

@media (min-width: 600px) {
    .site-header-wrapper  {
      display: flex;
      justify-content: space-between;
      align-items: center;
      padding-top: 0;
      padding-bottom: 0; } }
@media (min-width: 600px) {
  .nav-wrapper {
    display: flex; } }

@media (max-width: 599px) {
  .nav-wrapper {
    position: absolute;
    top: 5.4rem;
    right: 0;
    left: 0;
    z-index: 1;
    background-color: #d9f0f7;
    visibility: hidden;
    opacity: 0;
    transform: translateY(-114%);
    transition: transform 0.5s ease-out, opacity 0.5s ease-out; }
    .nav-wrapper.active {
      visibility: visible;
      opacity: 1;
      transform: translateY(0); } }

.nav__item a {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  display: block;
  padding: 1rem 1rem 0.5rem;
  color: #2c3e57;
  font-weight: 800;
  text-align: center;
  font-size: 15px;
  border-bottom: 3px solid #FFF;
  transition : all 0.5s ease 0s;
}

.nav__item a:hover{
  color: #035b9f;
  border-bottom: 3px solid #c9e5f6;
}

.nav__item span{
  color: #7694bf;
  display: block;
  padding-bottom: 5px;
  font-weight: normal;
  font-size: 11px;
}

  @media (max-width: 599px) {
.nav__item a {
  padding: 1rem 1rem;
  border-bottom: dashed 1px #FFF;
}
}


.nav__toggle {
  display: none; }
  @media (max-width: 599px) {
    .nav__toggle {
      display: block;
      position: absolute;
      right: 1rem;
      top: 0rem; } }


/*-----------------------------
ハンバーガーメニュー ※jsあり
-----------------------------*/

.openbtn1{
  position: relative;/*ボタン内側の基点となるためrelativeを指定*/
  background:#57a2c7;
  cursor: pointer;
    width: 50px;
    height:50px;
  border-radius: 5px;
  top: 1rem;
}

/*ボタン内側*/
.openbtn1 span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 14px;
    height: 3px;
    border-radius: 2px;
  background: #fff;
    width: 45%;
  }

.openbtn1 span:nth-of-type(1) {
  top:15px; 
}

.openbtn1 span:nth-of-type(2) {
  top:23px;
}

.openbtn1 span:nth-of-type(3) {
  top:31px;
}

/*activeクラスが付与されると線が回転して×に*/

.openbtn1.active span:nth-of-type(1) {
    top: 18px;
    left: 18px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn1.active span:nth-of-type(2) {
  opacity: 0;/*真ん中の線は透過*/
}

.openbtn1.active span:nth-of-type(3){
    top: 30px;
    left: 18px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

/*-----------------------------

＃floating

-----------------------------*/

#floating{
  position: fixed;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  z-index: 9999;
  width: 50px;
  display: flex;
  flex-direction: column;
  transition: 0.5s;
}

.floating-CV,.floating-tel{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

.floating-CV{
  margin-bottom: 1rem;
}

.text-combine {
  -webkit-text-combine: horizontal;
  -ms-text-combine-horizontal: all;
  text-combine-upright: all;
}

.floating-CV a,.floating-tel a{
  padding: 1.8rem 1.0rem;
  text-align: center;
  display: inline-block;
  border-radius: 5px 0 0 5px;
  font-weight: bold;
  transition : all 0.5s ease 0s;
  box-shadow: -2px 3px 3px 0px rgba(194,194,194,0.6);
}

.floating-icon{
  padding-bottom: 0.3em;
  width: 20px;
}

.floating-CV a{
  background: #084e8f;
  color: #FFF;
}

.floating-CV a:hover{background-color: #1976b7;}

.floating-tel a{
  background:#FFF;
  color: #476184;
  
}

.floating-tel a:hover{background-color: #cbd6e5;}


@media (max-width: 599px) {
#floating{
  top: initial;
  bottom: 0;
  right: initial;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
  z-index: 9999;
  width: 100%;
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-around;
  padding-bottom: 0.6rem;
}

.floating-CV,.floating-tel{
  -ms-writing-mode: initial;
  writing-mode: initial;
  width: 48%;
}

.floating-CV a,.floating-tel a{
  padding: 1rem 0;
  text-align: center;
  display: flex;
  border-radius: 5px;
  width: 100%;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
}

.floating-icon{
  padding-bottom: 0;
  padding-right: 0.3rem;
}

.floating-CV{
  margin-bottom: 0;
}

.floating-CV a{
  background-color: #084e8f;
  box-shadow: 0px 8px 2px -6px rgba(214,211,255,0.6) inset, 0px 3px 3px 0px rgba(137,137,137,0.6);
  color: #FFF;
  border-top: 1px solid #084e8f;
  border-right: 1px solid #0a3761;
  border-left: 1px solid #0a3761;
  border-bottom: 1px solid #0a3761;
}

.floating-tel a{
  background-color:#f0f0f0;
  color: #476184;
  box-shadow: 0px 8px 2px -6px rgba(255,255,255,0.6) inset, 0px 3px 3px 0px rgba(137,137,137,0.6);
  border-top: 1px solid #e9e9e9;
  border-right: 1px solid #e9e9e9;
  border-left: 1px solid #e9e9e9;
  border-bottom: 1px solid #d2d2d2;
  padding: 0.9rem 0;
}

.is-hidden {
  visibility: hidden;
  opacity: 0;
}
}


/*-----------------------------

footerエリア

-----------------------------*/


#footer{
  font-size: 14px;
  line-height: 1.2;
  margin-top: 2rem;
}

/*-----------------------------

footer-CTA エリア

-----------------------------*/

.footer-CTA{
  padding: 3rem 0;
  background: #e2ecf1;
}

.footer-CTA-ttl{
  font-size: 1.9em;
  color: #2a3f5e;
  text-align: center;
  margin-bottom: 2.5rem;
}

.footer-CTA-wrap{
  width: 800px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items:stretch
}

.footer-tel-wrap,.footer-CV{width: 49%;}

.footer-tel-wrap{
  display: flex;
  background: #fff;
  align-items: center;
  color: #476184;
  font-size: 1.7rem;
  font-weight: bold;
  border-radius: 4px;
  justify-content: center;
  padding: 0.7rem 0;
}

.footer-tel{text-align: center;}

.footer-tel-text{
  display: block;
  font-size: 0.5rem;
  font-weight: normal;
  margin-top: 5px;
}

.footer-tel-icon-wrap{
  display: flex;
  justify-content: center;
}

.footer-tel-icon-wrap img{
  width: 27px;
  height: 27px;
}

.footer-CV{
  display: flex;
  align-items: center;
  justify-content: center;
  background: #084e8f;
  padding: 0.7rem 0;
  color: #FFF;
  font-size: 1.4rem;
  font-weight: bold;
  border-radius: 4px;
  transition : all 0.5s ease 0s;
  position: relative;
  box-shadow: 0px 3px 0px 0px #bacdd7;
}

.footer-CV:after {
    content: "";
    border: solid 3px #fff;
    border-width: 3px 3px 0 0;
    position: absolute;
    top: calc(50% - 7.5px);
    right: 20px;
    transform: rotate(45deg);
    width: 12px;
    height: 12px;
}


.footer-CV:hover{background-color: #1976b7;}

.footer-CV-icon{
  width: 27px;
  margin-right: 0.3rem;
}


@media only screen and  (max-width: 834px) {

.footer-CTA {padding: 2rem 0;}
.footer-CTA-ttl {
  font-size: 1.5em;
  margin-bottom: 1.8rem;
}

.footer-CTA-wrap{
  width: 100%;
  flex-direction: column-reverse;
  padding: 0 1rem;
  box-sizing: border-box;
}

.footer-tel-wrap,.footer-CV{width: 100%;}

.footer-CV{
  padding: 1.2rem 0;
  margin-bottom: 1rem;
}

.footer-tel-wrap {
  padding: 0.4rem 0;
  box-shadow: 0px 3px 0px 0px #bacdd7;
}

.footer-tel-wrap img{
  width: 27px;
  height: 27px;
}

}

/*-----------------------------

footer-info エリア

-----------------------------*/

.footer-info{
  background: #f8f8f8;
  padding: 4rem 0;
}

.footer-info-wrap{
  width: 900px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.footer-name,.footer-Consultation-hours,.footer-map{width: 32%}
.footer-logo{width: 17rem;}

@media only screen and  (max-width: 834px) {

.footer-info{ padding: 2rem 0;}

.footer-info-wrap{
  width: 100%;
  padding: 0 1rem;
  flex-direction: column;
  box-sizing: border-box;
}

.footer-name,.footer-Consultation-hours,.footer-map{width: 100%}
}


/*-----------------------------
　footer-name　住所やロゴエリア
-----------------------------*/

.footer-address{
  padding: 1rem 0;
}


/*-----------------------------
　footer-Consultation-hours　診療時間
-----------------------------*/

.footer-calendar{
  width: 100%;
  border-collapse: collapse;
  font-weight: normal;
  border-radius: 6px;
  border: solid 1px #084e8f;
  border-collapse: separate;
}

.footer-calendar:last-child .footer-calendar th,
table tbody tr:last-child td {
  border-bottom: none;
}

.footer-calendar td{text-align: center;}

.footer-calendar-heading{
  background: #084e8f;
  color: #FFF;
}

.footer-calendar-heading th{
  padding: 0.4rem 0;
  border-left: 1px solid #85b4e0;
}
.footer-calendar-heading th:first-child{border-left:0;}

.footer-calendar-body{}

.footer-calendar-body td{
  padding: 0.1rem 0;
  color: #157587;
  border-bottom: solid 1px #084e8f;
  border-left: solid 1px #084e8f;
  font-size: 1.5rem;
  font-weight: normal;
}

.footer-calendar-body-th{border-bottom: solid 1px #084e8f;}
.footer-calendar-body th{vertical-align: middle;}

.footer-calendar-annotation{
  margin: 0.4rem 0 1rem;
  display: block;
}

.footer-Consultation-comment{
  padding: 0.8rem 0;
  text-align: center;
  color: #084e8f;
  border: 1px solid #1d456a;
}


@media only screen and  (max-width: 834px) {
.footer-Consultation-hours{margin: 2rem 0;}

}

/*-----------------------------

footer-sitemap リンクエリア

-----------------------------*/

.footer-sitemap{
  padding: 4rem 0 3rem;
  background: #e9e9e9;
}

.footer-sitemap-wrap{
  width: 900px;
  margin: 0 auto;
}

.footer-sitemap-list{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  font-size: 0.8rem;
}

.footer-sitemap-list li{
  width: 20%;
  position: relative;
  padding-left:0.8rem;
  box-sizing: border-box;
  margin-bottom: 1rem;
}

.footer-sitemap-list li a:hover{
  text-decoration: underline;
  color: #084e8f;
}

.footer-sitemap-list li:after {
    content: "";
    border: solid 2px #6dd1cd;
    border-width: 2px 2px 0 0;
    position: absolute;
    top: calc(50% - 3.5px);
    left: 0;
    transform: rotate(45deg);
    width: 3px;
    height: 3px;
}


@media only screen and  (max-width: 834px) {
.footer-sitemap-wrap{
  width: 100%;
  padding: 0 1rem;
  box-sizing: border-box;
}

.footer-sitemap-list li{
  width: 50%;
}
}

/*-----------------------------

footer-copy エリア

-----------------------------*/

#footer-copy{
  background: #2e313a;
  text-align: center;
  color: #FFF;
  font-size: 0.9rem;
  padding: 1rem 0;
}

/*-----------------------------

コピペ禁止CSS

-----------------------------*/

.ban{
user-select:none;
-webkit-user-select:none;
-moz-user-select:none;
-khtml-user-select:none;
-webkit-user-drag:none;
-khtml-user-drag:none;
touch-callout:none
}