@charset "UTF-8";

::-moz-selection{background-color:#000;color:#fff;}
::selection{background-color:#000;color:#fff;}
* { 
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	/**behavior: url(/common/js/boxsizing.htc);*/
}
body {
	color: #333;
  background-color:#3e3e3e;
  font-family:"游ゴシック" , "Yu Gothic" , "游ゴシック体" , "YuGothic" , "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" , "Meiryo UI" , "メイリオ" , Meiryo , "ＭＳ Ｐゴシック" , "MS PGothic" , sans-serif;
  font-weight: normal;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: auto;
}
.en{
font-family: 'Roboto', sans-serif;
font-weight:400;
}
.mincyo{ font-family: "Sawarabi Mincho"; }
.wg700{ font-weight:700;}
.uppercase{text-transform:uppercase;}
.red{ color:#c30;}

html{font-size: 62.5%;}
.container{padding-left:4%;padding-right:4%;}
.flex-jc-sb{justify-content:space-between;}
.flex{display:-webkit-flex;display:-moz-flex;display:-ms-flex;display:-o-flex;display:flex;}
.flex-wrap{ -webkit-flex-wrap:wrap;-moz-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;}
.phc{position: relative;top: 50%;-webkit-transform: translateY(-50%);-ms-transform: translateY(-50%);transform: translateY(-50%);}

@media screen and (max-width: 640px) {
body {font-size: 14px;font-size: 1.4rem;}
.for-sp{display:block;}
.for-pc{display:none;}
.flex.mobile-break{display:block;}
.phc.mobile-break{top: 0%;-webkit-transform: translateY(0%);-ms-transform: translateY(0%);transform: translateY(0%);}
}
@media only screen and (min-width: 641px) and (max-width: 980px) {
body {font-size: 15px;font-size: 1.5rem;}
}
@media screen and (min-width: 981px){
 body {font-size: 16px;font-size: 1.6rem;}
.for-sp{display:none;}
.for-pc{display:block;}
.container{padding-left:0;padding-right:0;}
}

.t-LL{font-size:1.6em;}
.t-L{font-size:1.2em;}
.t-S{font-size:.8em;}
.lh-LL{line-height:2;}
.lh-L{line-height:1.8;}
.lh-S{line-height:1.3;}
.mb05em{margin-bottom:.5em;}
.mb1em{margin-bottom:1em;}
.mb2em{margin-bottom:2em;}
.mb4em{margin-bottom:4em;}
.clearfix:after{content:"";display:block;clear:both;}
img{border:0;width:100%;max-width:100%;height:auto;width:auto\9;/*ie8*/}
.alc{text-align:center;}
.alr{text-align:right;}

.bb-line{
  position:relative;
  display: inline-block;
  }
.bb-line::before,
.bb-line::after {
content: "";
position: absolute;
left: 0;
right: 0;
bottom: 0;
}
.bb-line::after {
bottom: .1em;
border-bottom: 1px solid #0068b7;
}

.bb-line::before {
bottom: 0em;
border-bottom: 1px solid #0068b7;
}

/* loading
----------------------------------------------------*/
.loading {
    position: relative;
    display:inline-block;
    height: 46px;
    width: 46px;
    margin: 1em;
    border-radius: 50%;  
    background: none repeat scroll 0 0 #efefef;
    overflow:hidden;
    box-shadow: 0 0 10px rgba(0,0,0,.1) inset, 0 0 25px rgba(0,0,255,0.075);
}
.loading:after {
    content: "";
    position: absolute;
    top: 9px; left: 9px;
    display: block;
    height: 28px; width: 28px;
    background: none repeat scroll 0 0 #fff;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0,0,0,.1);
}
.loading > span {
    position: absolute;
    height: 100%; width: 50%;
    overflow: hidden;
}
.loading .left  { left:0}
.loading .right { left:50% }
.loading .anim {
    position: absolute;
    left: 100%; top: 0;
    height: 100%; width: 100%;
    border-radius: 999px;
    background: none repeat scroll 0 0 #508EC3;
    opacity: 0.8;
    -webkit-animation: ui-spinner-rotate-left 3s infinite;
    animation: ui-spinner-rotate-left 3s infinite;
    -webkit-transform-origin: 0 50% 0;
    transform-origin: 0 50% 0;
}
.loading .left .anim {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.loading .right .anim {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    left: -100%;
    -webkit-transform-origin: 100% 50% 0;
    transform-origin: 100% 50% 0;
}
.loading .anim {
   -webkit-animation-delay: 0s;
   -webkit-animation-duration:3s;
   -webkit-animation-timing-function: linear;
   animation-delay: 0s;
   animation-duration:1s;
   animation-timing-function: linear;
}
.loading .right .anim{
   -webkit-animation-name: ui-spinner-rotate-right;
   -webkit-animation-delay:0;
   -webkit-animation-delay: 1.5s;
   animation-name: ui-spinner-rotate-right;
   animation-delay:0;
   animation-delay: .5s;
}
.loading .left .anim {
    border-bottom-left-radius: 0;
    border-top-left-radius: 0;
}
.loading .right .anim {
    border-bottom-right-radius: 0;
    border-top-right-radius: 0;
    left: -100%;
    -webkit-transform-origin: 100% 50% 0;
    transform-origin: 100% 50% 0;
}
@keyframes ui-spinner-rotate-right{0%{transform:rotate(0deg)}25%{transform:rotate(180deg)}50%{transform:rotate(180deg)}75%{transform:rotate(360deg)}100%{transform:rotate(360deg)}}
@keyframes ui-spinner-rotate-left{0%{transform:rotate(0deg)}25%{transform:rotate(0deg)}50%{transform:rotate(180deg)}75%{transform:rotate(180deg)}100%{transform:rotate(360deg)}}
@-webkit-keyframes ui-spinner-rotate-right{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(180deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(360deg)}100%{-webkit-transform:rotate(360deg)}}
@-webkit-keyframes ui-spinner-rotate-left{0%{-webkit-transform:rotate(0deg)}25%{-webkit-transform:rotate(0deg)}50%{-webkit-transform:rotate(180deg)}75%{-webkit-transform:rotate(180deg)}100%{-webkit-transform:rotate(360deg)}}
/* link
----------------------------------------------------*/
a{cursor:pointer;outline: none;}
a:focus, *:focus { outline:none; }
a:link,
a:visited,
a:hover,
a:active {
	text-decoration:none;
	color:#333;
}
.button-detail{
  padding:.5em 2em;
  border-radius:1em;
  color:#fff;
  background-color:#0068b7;
  }
.link_box{
    position:relative;
    width:100%;
} 
.link_box a{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-999em;
    background-color:#fff;
    opacity:0;
}
.link_txt a{
  color:#0068b7;
  text-decoration:underline;
  }
@media screen and (min-width: 981px) {
.base-link-transition a,
.link_box a,
#globalHader p.logo a{
  -webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
  }
.link_box a:hover{
  opacity:.3;
  }
.link_txt a:hover{
   text-decoration:none;
   opacity:.8;
  }
}
/* common
----------------------------------------------------*/
body,#wrapper{
	position:relative;
	min-width:300px;
}
.container{
	max-width:1100px;
	width:auto;
	margin:0 auto;
}
#wrapper{
	position:relative;
	z-index:0;
	overflow:hidden;
}
main{
  display:block;
  }
#page{
  background-color:#fff;
  }
 dl.txt-list dd,
 ul.txt-list li{
  line-height:1.6;
  border-bottom:1px dotted #ccc;
  padding-bottom:1em;
  margin-bottom:1em;
  }
dl.txt-list dd:last-child,
ul.txt-list li:last-child{
   border-bottom:0;
  padding-bottom:0;
  margin-bottom:0;
  } 

@media screen and (max-width: 640px){
  #globalHader{
  padding-bottom:.5em;
  }
}
@media screen and (max-width: 980px) {
  #globalHader .flex{
    display:block;
    }
  #globalHader p.logo{
    width:70%;
    margin-left:auto;
    margin-right:auto;
    margin-top:1em;
    margin-bottom:1em;
    }
  #globalHader h1{
    text-align:center;
    }
  #globalNav{
    display:none;
    }
  }
@media screen and (min-width: 981px) {
   #globalHader p.logo a:hover,
   #globalHader ul li a:hover,
   #globalFooter ul li a:hover{
     opacity:.6;
     }
   .drawer-toggle{
    display: none;
    visibility: hidden;
  }
    #globalHader .flex{
      align-items:center;
    }
  #globalHader .flex > p.logo{
    width:26%;
    }
  #globalHader .flex > div{
    width:70%;
    }
  #globalHader h1{
   text-align:right;
  }
}
/* ================================================== */
	/* HEADER */
/* ================================================== */
#globalHader{
  background-color:#fff;
  border-top:solid 10px #0068b7;
  padding-top:1.5em;
  padding-bottom:1.5em;
  }
#globalHader h1{
  font-size:.9em;
  margin-bottom:.5em;
  font-weight:normal;
  color:#666;
  }
#globalHader ul{
  text-align:right;
  font-size:1.06em;
  }
#globalHader ul li{
  display:inline-block;
  margin-right:.4em;
  }
#globalHader ul li:last-child{
  margin-right:0;
  }
#globalHader ul li a{
  font-weight:bold;
 }
#globalHader ul li a.current{
  color:#0068b7;
/*  border-radius:4px;
  padding:.2em .4em;*/
  }
#globalHader ul li::after{
  content:'／';
  margin-left:.4em;
  vertical-align:middle;
  font-size:.8em;
  color:#ccc;
  }
#globalHader ul li:last-child::after{
  display:none;
  }

/* ================================================== */
	/* FOOTER */
/* ================================================== */
 .ggmap{
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
body.mobile .ggmap{
  padding-bottom: 56.25%;
  } 
.ggmap iframe,
.ggmap object,
.ggmap embed{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

#access-footer{
  border-top:1px #ccc solid;
  padding-top:4vh;
  padding-bottom:4vh;
  }
#access-footer header h3{
  background-color:#efefef;
  padding:1em;
  }
#access-footer dl{}
#access-footer dl dt{
  font-weight:bold;
  color:#0068b7;
  }
#access-footer dl dd{
  margin-bottom:1em;
  margin-left:2em;
  }
 #access-footer .ggmap{
   padding-bottom: 56.25%;
   margin-bottom:1em;
 }
#access-footer .container:first-child{
  border-bottom:1px #ccc solid;
  padding-bottom:1em;
  margin-bottom:1em;
  }
#access-footer .container:last-child .flex p:first-child img{
  display:inline-block;
  width:50%;
  height:auto;
  margin-right:1em;
  }
#access-footer a i{
  color:#0068b7;
  }


#footerNav{
  background-color:#ededed;
  padding-top:.5em;
  padding-bottom:.5em;
  }
#footerNav ul{
  font-size:.8em;
  }
#footerNav ul li{
  display:inline-block;
  margin-right:.6em;
  }
#footerNav ul li::after{
  content:'／';
  margin-left:.6em;
  color:#999;
  }
#footerNav ul li:last-child::after{
  display:none;
  }
address{
  font-size:.8em;
  color:#efefef;
  font-style:normal;
  font-family: 'Roboto', sans-serif;
  padding-top:2em;
  padding-bottom:2em;
  line-height:1.8;
  }
@media screen and (max-width: 640px) {
  #access-footer .buill p{
    text-align:center;}
  #access-footer .buill p:first-child,
  #footerNav .flex ul:first-child{
    margin-bottom:1em;
    }
  }
@media screen and (min-width: 981px) {
  #footerNav .flex ul:first-child{
    text-align:left;
    }
    #footerNav .flex ul:last-child{
    text-align:right;
    }
  #access-footer a:hover{
    opacity:.9;
    text-decoration:underline;
    }
  #page-top a:hover {
    text-decoration: none;
    background: #999;
}
  }
#page-top {
    position: fixed;
    bottom: 0;
    right: 0;
    background-color:#3e3e3e;
   width: 4em; 
  height: 4em;
  z-index:100;
}
#page-top a {
  width: 100%; 
  height: 100%;
  text-indent: -9999em;
  position:relative;
  display: block;
  overflow:hidden;
  color: transparent;
  transition: all .3s ease-in-out;
  text-decoration: none;
  color: transparent;
}
#page-top a::after{
  content:'';
  position:absolute;
  top:48%;
  left:23%;
  width:2em;
  height:2em;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  border-bottom:transparent;
  border-right: transparent;
  display: block;
  transform: rotate(45deg);
  }
.drawer-menu a{
  color:#fff;
}
@media screen and (max-width: 640px){
  #access-footer .container:last-child .flex{
    display:block;
    }
  }
@media screen and (min-width: 768px){
  }
  
  
.clinic-wrap{
  background-color:#f3f3f3;
  background-image: -webkit-repeating-radial-gradient(center center, rgba(225,225,225,1), rgba(225,225,225,1) 1px, transparent 1px, transparent 100%);
  background-image: -moz-repeating-radial-gradient(center center, rgba(225,225,225,1), rgba(225,225,225,1) 1px, transparent 1px, transparent 100%);
  background-image: -ms-repeating-radial-gradient(center center, rgba(225,225,225,1), rgba(225,225,225,1) 1px, transparent 1px, transparent 100%);
  background-image: repeating-radial-gradient(center center, rgba(225,225,225,1), rgba(225,225,225,1) 1px, transparent 1px, transparent 100%);
  -webkit-background-size: 6px 6px;
  -moz-background-size:  6px 6px;
  background-size:  6px 6px;
  padding-top:4vh;
  padding-bottom:4vh;
}
nav.breadcrumb{
  padding-top:.5em;
  padding-bottom:.5em;
  background-color:#efefef;
  border-top:1px #ccc solid;
  border-bottom:1px #ccc solid;
  }
nav.breadcrumb ol{
  list-style:none;
  font-size:.8em;
  }
nav.breadcrumb ol li{
  display:inline-block;
  margin-right:.5em;
  }
nav.breadcrumb ol li a{
  color:#0068b7;
}
nav.breadcrumb ol li::after{
  content:'\f105';
  font-family: FontAwesome;
  margin-left:.5em;
  color:#999;
}
nav.breadcrumb ol li:last-child::after{
  display:none;
  }
header.page-header{
  position:relative;
  padding-top:2em;
  padding-bottom:2em;
  background-attachment:fixed;
  background-size:cover;
  background-position:top center;
  background-blend-mode: lighten;
  color:#fff;
  }
header.page-header::before,
header.page-header::after{
  position:absolute;
  content:'';
  display:block;
  width:60%;
  height:100%;
  top:0;
  bottom:0;
  -webkit-transform:skew(-20deg);
  -moz-transform:skew(-20deg);
  transform:skew(-20deg);
  mix-blend-mode:multiply;
  opacity:.8;
  z-index:0;
  }
header.page-header::before{
   background-color:#4f6ec0;
  left:-10%;
  }
header.page-header::after{
  background-color:#6dcbf1;
  right:-10%;
  }
header.page-header h3,
header.page-header p{
  position:relative;
  z-index:1;
  }  
header.page-header h3.bb-line::after,
header.page-header h3.bb-line::before {
border-bottom: 1px solid #fff;
}
@media only screen and (min-width:981px) { 
nav.breadcrumb ol li a:hover{
  text-decoration:underline;
}
}
@media only screen and (max-width: 640px) { 
  table.sp-overflow-x{
  display: block; 
  position: relative; 
  width: 100%; 
  }
  table.sp-overflow-x thead{ 
  display: block; 
  float: left; 
  }
  table.sp-overflow-x tbody{ 
  display: -webkit-box;
  overflow-x: auto; 
  }
  table.sp-overflow-x tr,
  table.sp-overflow-x th,
  table.sp-overflow-x td{ 
  display: block; 
  }
  /* borderの調整 */
  table.sp-overflow-x th{ 
  border-bottom: 0; 
  }
  table.sp-overflow-x td{ 
  border-left: 0; 
  border-right: 0; 
  border-bottom: 0; 
  }
  table.sp-overflow-x tbody tr{ 
  border-right: 1px solid #babcbf; 
  }
  table.sp-overflow-x th:last-child,
  table.sp-overflow-x td:last-child { 
  border-bottom: 1px solid #babcbf; 
  }
}

@media print{
  #globalHader nav,
   #globalHader .flex > div{
    display:none;
    }
  }
