@charset "utf-8";


/******************************************************************** structure
*/
html{overflow-y:scroll;}
body{
	box-sizing: border-box;
	text-align: justify;
	text-justify: inter-ideograph;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
	color: #3A2323;
	font-size: 1rem;
	overflow-x: hidden;
}
a{
	-webkit-transition: all .3s;
	transition: all .3s;
}
a:link{color:#43B19F;}
a:visited{color:#43B19F;}
a:hover{text-decoration:none; opacity:0.5;}

.green{color:#43B19F;}

.wrapper { width:90%; max-width: 1280px; text-align: left; margin: 0 auto; position: relative;}

#header {
	position: relative;
	height: auto;
	width: 100%;
}

#footer {clear: both;}

.loader-wrap{
  background:#43B19F;
  height:100%;
  left:0;
  position:fixed;
  top:0;
  width:100%;
  z-index:100;
}
.loader-animation {
  color: #ffffff;
  font-size: 10px;
  margin:-0.5em 0 0 -0.5em;
  width: 1em;
  height: 1em;
  border-radius: 50%;
  position: absolute;
	top: 50%;
	left: 50%;
  text-indent: -9999em;
  -webkit-animation: load4 1.3s infinite linear;
  animation: load4 1.3s infinite linear;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
}
@-webkit-keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}
@keyframes load4 {
  0%,
  100% {
    box-shadow: 0 -3em 0 0.2em, 2em -2em 0 0em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 0;
  }
  12.5% {
    box-shadow: 0 -3em 0 0, 2em -2em 0 0.2em, 3em 0 0 0, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  25% {
    box-shadow: 0 -3em 0 -0.5em, 2em -2em 0 0, 3em 0 0 0.2em, 2em 2em 0 0, 0 3em 0 -1em, -2em 2em 0 -1em, -3em 0 0 -1em, -2em -2em 0 -1em;
  }
  37.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 0, 2em 2em 0 0.2em, 0 3em 0 0em, -2em 2em 0 -1em, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  50% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 0em, 0 3em 0 0.2em, -2em 2em 0 0, -3em 0em 0 -1em, -2em -2em 0 -1em;
  }
  62.5% {
    box-shadow: 0 -3em 0 -1em, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 0, -2em 2em 0 0.2em, -3em 0 0 0, -2em -2em 0 -1em;
  }
  75% {
    box-shadow: 0em -3em 0 -1em, 2em -2em 0 -1em, 3em 0em 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0.2em, -2em -2em 0 0;
  }
  87.5% {
    box-shadow: 0em -3em 0 0, 2em -2em 0 -1em, 3em 0 0 -1em, 2em 2em 0 -1em, 0 3em 0 -1em, -2em 2em 0 0, -3em 0em 0 0, -2em -2em 0 0.2em;
  }
}


/******************************************************************** header
*/

header h1{
	width: 26%;
	max-width: 246px;
}
.header {
  display: flex;
  justify-content: space-between;
	align-items: center;
	padding: 0 2.5%;
	height: 144px;
}


/******************************************************************** globalNav
*/
.nav-button {display: none;}
nav{width: 70%; max-width: 960px;}
.nav{
	display: flex;
  justify-content: space-between;
}
.nav a {
	text-decoration: none;
	color: #3A2323;
	font-weight: bold;
  display: block;
	padding: 0.92em 0;
	font-size: 1.1rem;
}
.nav > li{
	position: relative;
	width: 20%;
	text-align: center;
	box-sizing: border-box;
}
.nav > li:after{
	background: #DDD;
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	position: absolute;
	right: 0;
	top: 50%;
	margin-top: -24px;
}
.nav > li:first-child:before{
	background: #DDD;
	content: "";
	display: block;
	width: 1px;
	height: 48px;
	position: absolute;
	left: 0;
	top: 50%;
	margin-top: -24px;
}
.nav li.has-child:hover {
	-webkit-transition: all .5s;
	transition: all .5s;
}
.nav li.has-child > a:after{
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #3A2323;
	vertical-align: 0.1em;
	margin-left: 0.2em;
}

.nav li.has-child .child {
	visibility: hidden;
	opacity: 0;
	z-index: 1;
}
.nav li.has-child .child {
	position: absolute;
	top: 74px;
	left: -100%;
	box-sizing: border-box;
	width: 500%;
	padding:32px;
	background: #E4F5F2;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	z-index: 10;
	border-radius: 8px;
	display: flex;
  justify-content: center;
}
.nav li:nth-child(3).has-child .child {left: -200%;}
.nav li.has-child:hover .child {
	top: 84px;
	visibility: visible;
	opacity: 1;
}
.nav li.has-child .child li{
	width: 22%;
	margin-right: 4%;
	position: relative;
}
.nav li.has-child .child li:last-child{margin-right:0;}
.nav li.has-child .child li a{padding: 0;}
.nav li.has-child .child li a:before{
	display: block;
	content: "";
	width: 100%;
	height: 6vw;
	margin: 0 auto;
	border-radius: 8px;
}
.nav li.has-child .child li a:after{
	display: inline-block;
	content: "";
	background: url(../img/common/ico_arrow.svg) no-repeat center top;
	width: 16px;
	height: 16px;
	margin-left:0.5em;
	vertical-align: -0.05em;
}
.nav li:nth-child(2).has-child .child li:nth-child(1) a:before{background:url(../img/common/nav_about01.jpg) no-repeat center top; background-size: cover;}
.nav li:nth-child(2).has-child .child li:nth-child(2) a:before{background:url(../img/common/nav_about02.jpg) no-repeat center top; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(1) a:before{background:url(../img/common/nav_treatment01.jpg) no-repeat center top; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(2) a:before{background:url(../img/common/nav_treatment02.jpg) no-repeat center top; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(3) a:before{background:url(../img/common/nav_treatment03.jpg) no-repeat center top; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(4) a:before{background:url(../img/common/nav_treatment04.jpg) no-repeat center top; background-size: cover;}

.nav > li:hover{
	background: #E4F5F2;
	border-radius: 8px;
}
.nav > li > a:before{
	display: block;
	content: "";
	width: 32px;
	height: 32px;
	margin: 0 auto 4px;
}
.nav > li.home > a:before{background:url(../img/common/ico_home.svg) no-repeat center center; background-size: 100% auto;}
.nav > li.about > a:before{background:url(../img/common/ico_hospital.svg) no-repeat center center; background-size: 100% auto;}
.nav > li.treatment > a:before{background:url(../img/common/ico_tooth.svg) no-repeat center center; background-size: 100% auto;}
.nav > li.access > a:before{background:url(../img/common/ico_map.svg) no-repeat center center; background-size: 100% auto;}
.nav > li.contact > a:before{background:url(../img/common/ico_mail.svg) no-repeat center center; background-size: 100% auto;}

.nav-wrap.open {display: block;}
.nav-wrap.close {display: none;}

@media screen and (min-width: 961px) {
  .nav-wrap {
    display: block !important;
  }
}


/******************************************************************** container
*/
.main > section{
	padding:104px 0;
	position:relative;
}
.main > section .txt{
	font-size: 1.1rem;
	line-height: 1.8;
}
.catch{
	width:100%;
	position:relative;
}
.catch:after{
	display: block;
	content: "";
	background: rgba(255,255,255,0.4);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
.catch .ttl-area{
	position:relative;
	z-index:1;
	font-family: "Rounded Mplus 1c";
	letter-spacing:0.1em;
	padding:116px 2.5%;
	text-shadow: 1px 1px 10px rgba(255,255,255,1),-1px 1px 10px rgba(255,255,255,1),1px -1px 10px rgba(255,255,255,1),-1px -1px 10px rgba(255,255,255,1);
}
.catch .ttl-area h2{
	font-size:3.2rem;
	font-weight:400;
	line-height:1.6;
	text-align: left;
	position: relative;
	z-index: 2;
}
.catch .ttl-area h2 span{color: #43B19F;}
.catch .ttl-area .txt{
	font-size:1.1rem;
	line-height:1.8;
	font-weight: 500;
}

.breadcrumb{
	position:relative;
	z-index:1;
	line-height:32px;
	font-size:0.8rem;
}
.breadcrumb .wrapper{width: 100%; max-width: 100%; margin: 0 auto;}
.breadcrumb li{display:inline;}
.breadcrumb li:after{
	display:inline;
	content:">";
	margin:0 0.5em;
}
.breadcrumb li:last-child:after{display:none;}
.breadcrumb li a:hover{text-decoration:none;}

.main section h2{
	font-family: "Rounded Mplus 1c";
	letter-spacing:0.1em;
	font-size:2.6rem;
	font-weight:400;
	line-height:1.6;
	margin-bottom: 1.4em;
	position: relative;
	text-align: center;
}
.main section h3{
	font-family: "Rounded Mplus 1c";
	letter-spacing:0.1em;
	font-size:2.2rem;
	font-weight:400;
	line-height: 1.6;
	text-align:center;
}

.btn{width:100%; position:relative; line-height: 1;}
.btn a{
	display:inline-block;
	line-height:64px;
	text-align:center;
	position: relative;
	z-index: 2;
	overflow: hidden;
	width:100%;
	border:#43B19F 1px solid;
	box-sizing:border-box;
	font-size:1.2rem;
	font-weight: bold;
	border-radius: 8px;
}
.btn a:before{
  display: block;
  content: " ";
	position: absolute;
	z-index:10;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:url(../img/common/ico_arrow.svg) no-repeat 95% center;
	background-size:22px auto;
	box-sizing:border-box;
}
.btn a:after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn,
.btn a:before,
.btn a:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn a:after{
	top:0;
	left: -100%;
	width: 100%;
	height: 100%;
}
.btn a:link,
.btn a:visited{text-decoration:none; color:#43B19F;}
.btn a:hover{color: #FFF; opacity:1;}
.btn a:hover:after {
	left: 0;
	background:#43B19F;
}
.btn a:hover:before{
	background:url(../img/common/ico_arrow_white.svg) no-repeat 95% center;
	background-size:22px auto;
}

.btn02{width:100%; position:relative; line-height: 1;}
.btn02 a{
	display:inline-block;
	line-height:64px;
	text-align:center;
	position: relative;
	z-index: 2;
	overflow: hidden;
	width:100%;
	border:#43B19F 1px solid;
	box-sizing:border-box;
	font-size:1.2rem;
	font-weight: bold;
	border-radius: 8px;
	background: #43B19F;
}
.btn02 a:before{
  display: block;
  content: " ";
	position: absolute;
	z-index:10;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:url(../img/common/ico_arrow_white.svg) no-repeat 95% center;
	background-size:22px auto;
	box-sizing:border-box;
}
.btn02 a:after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn02,
.btn02 a:before,
.btn02 a:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn02 a:after{
	top:0;
	left: -100%;
	width: 100%;
	height: 100%;
}
.btn02 a:link,
.btn02 a:visited{text-decoration:none; color:#FFF;}
.btn02 a:hover{color: #43B19F; opacity:1;}
.btn02 a:hover:after {
	left: 0;
	background:#FFF;
}
.btn02 a:hover:before{
	background:url(../img/common/ico_arrow.svg) no-repeat 95% center;
	background-size:22px auto;
}

.btn03{width:100%; position:relative; line-height: 1;}
.btn03 a{
	display:inline-block;
	line-height:64px;
	text-align:center;
	position: relative;
	z-index: 2;
	overflow: hidden;
	width:100%;
	border:#FFF 1px solid;
	box-sizing:border-box;
	font-size:1.2rem;
	font-weight: bold;
	border-radius: 8px;
	background: #FFF;
}
.btn03 a:before{
  display: block;
  content: " ";
	position: absolute;
	z-index:10;
	left:0;
	top:0;
	width:100%;
	height:100%;
	background:url(../img/common/ico_arrow.svg) no-repeat 95% center;
	background-size:22px auto;
	box-sizing:border-box;
}
.btn03 a:after{
	position: absolute;
	z-index: -1;
	display: block;
	content: '';
}
.btn03,
.btn03 a:before,
.btn03 a:after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-transition: all .3s;
	transition: all .3s;
}
.btn03 a:after{
	top:0;
	left: -100%;
	width: 100%;
	height: 100%;
}
.btn03 a:link,
.btn03 a:visited{text-decoration:none; color:#43B19F;}
.btn03 a:hover{color: #FFF; opacity:1;}
.btn03 a:hover:after {
	left: 0;
	background:#43B19F;
}
.btn03 a:hover:before{
	background:url(../img/common/ico_arrow_white.svg) no-repeat 95% center;
	background-size:22px auto;
}

.back a:before{
	background:url(../img/common/ico_arrow_reverse_green.svg) no-repeat 5% center;
	background-size:22px auto;
	right: 0;
}
.back a:hover:before{
	background:url(../img/common/ico_arrow_reverse_white.svg) no-repeat 5% center;
	background-size:22px auto;
}
.back a:hover:after {
	right: 0;
}

/*.animation{
	opacity: 0;
	-webkit-transform: translate3d(0, 100%, 0);
	transform: translate3d(0, 100%, 0);
	-webkit-transition: all 1s ease;
	transition: all 1s ease;
}
.animation.active{
	opacity: 1;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}*/


@keyframes vertical {
    0% { transform:translateY(-10px); }
  100% { transform:translateY(  0px); }
}
@keyframes anim-scale {
	0% { transform: scale(0.4, 0.4); }
	40% { transform: scale(1.2, 1.2); }
	60% { transform: scale(1, 1); }
	80% { transform: scale(1.1, 1.1); }
	100% { transform: scale(1, 1); }
}
@keyframes anim-rotate {
	0% { transform: rotate(0deg); }
	10% { transform: rotate(-6deg); }
	20% { transform: rotate(7deg); }
	35% { transform: rotate(-3deg); }
	50% { transform: rotate(3deg); }
	65% { transform: rotate(-1deg); }
	80% { transform: rotate(1deg); }
	95% { transform: rotate(0deg); }
	100% { transform: rotate(0deg); }
}


/******************************************************************** footer
*/
footer{
	background:url(../img/common/bg_footer.svg) no-repeat 4% 10vw;
	background-size: 497px;
	padding-top: 104px;
	border-top: #392222 1px dashed;
	position: relative;
}
footer:before{
	border-top: #392222 1px dashed;
	display: block;
	content: "";
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	top: -4px;
}

.info-area{margin-bottom: 80px;}
.info-area .wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.info-area .wrapper .first{
	width: 25%;
	box-sizing: border-box;
	padding:0 1.8%;
	text-align: center;
}
.info-area .wrapper .first h3{
	font-size: 0.8rem;
	line-height: 1.6;
	margin-top: 1em;
}
.info-area .wrapper .second {
	width: 41%;
	box-sizing: border-box;
	padding:0 1.8%;
	border-right: #DDD 1px solid;
	border-left: #DDD 1px solid;
}
.info-area .wrapper .tel-btn{display: none;}
.tel{
	color: #43B19F;
	font-size:2rem;
	font-weight: 600;
	margin-bottom: 4px;
}
.tel:before{
	display: inline-block;
	content: "";
	background: url(../img/common/ico_tel.svg) no-repeat center center;
	background-size: 100% auto; 
	width: 30px;
	height: 24px;
	margin-right: 0.1em;
}
.tel span{
	border: #43B19F 1px solid;
	border-radius: 6px;
	font-size: 0.9rem;
	font-weight: normal;
	display: inline-block;
	vertical-align: 0.5em;
	padding: 0 0.3em;
	margin-left: 0.3em;
}
.info-area .wrapper .second .address{line-height: 1.6;}
.time{
	background: #43B19F;
	border-radius: 8px;
	padding:8px 16px;
	color: #FFF;
	margin-top: 24px;
}
.time table{
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}
.time table th{
	text-align: center;
	padding: 0.3em 0;
}
.time table th:first-child,
.time table td:first-child{width: 32%;}
.time table td{
	border-top: #FFF 1px solid;
	text-align: center;
	padding: 0.3em 0;
}
.notice{font-size: 0.9rem;}
.info-area .wrapper .third {
	width: 34%;
	box-sizing: border-box;
	padding:0 1.8%;
}
.info-area .wrapper .third h4{
	color: #43B19F;
	border-bottom: #43B19F 1px solid;
	text-align: center;
	margin-bottom: 8px;
}
.foot-nav{margin-bottom: 24px;}
.foot-nav nav{max-width: 960px;}
.foot-nav .nav li.has-child .child {bottom: 74px; top: auto;}
.foot-nav .nav li.has-child:hover .child {bottom: 84px; top: auto;}
.foot-nav .nav li.has-child > a:after{
	display: inline-block;
	content: "";
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid transparent;
	border-bottom: 6px solid #3A2323;
	vertical-align: 0.1em;
	margin-left: 0.2em;
}

.foot-copy{
	background: #43B19F;
	color: #FFF;
	text-align: center;
	font-size: 0.9rem;
	padding: 0.9em 0;
	margin-bottom: 80px;
}

.pc_none{display:none !important;}
.sp_none{display:block !important;}

div.cal_wrapper table.cal {
	width: 100%;
	line-height: 1.8;
}
div.cal_wrapper table.cal tr th p {
	float: left;
	padding: 5px;
	margin: 0px;
	color: #392020;
	font-size: 0.9rem;
}
div.cal_wrapper table.cal tr th div.cal_ui {
	float: right;
}
div.cal_wrapper table.cal tr th div.cal_ui input {
	border: solid 1px #CCC;
	background-color: #FFF;
	font-size: 0.8rem;
	margin: 0px 1px;
	padding: 1px 5px;
	border-radius: 3px;
	cursor: pointer;
}
div.cal_wrapper table.cal tr th div.cal_ui input:hover {opacity: 0.5;}
div.cal_wrapper table.cal tr td {
	font-size: 0.8rem;
	text-align: center;
	padding: 2px;
}
div.cal_wrapper table.cal tr.headline td {
	padding: 5px 0px;
	/*color: #666;*/
	color: #392020;
}
div.cal_wrapper table.cal tr.headline {
	/*background-color: #EEE;*/
	background-color: #E4F5F2;
}
div.cal_wrapper table.cal tr td div {
	position: relative;
	padding: 5px 0;
	font-size: 0.8rem;
	text-align: center;
	background-color: #FFF;
	border-radius: 3px;
	color: #392020;
}
div.cal_wrapper table.cal tr td div span {
	display: none;
	position: absolute;
	top: 20px;
	left: 0px;
	width: 180px;
	border: solid 1px #EEE;
	background-color: #FFF;
	text-align: left;
	padding: 5px;
	z-index: 10;
	color: #000;
	font-weight: normal;
	line-height: 1.5em;
	box-shadow: 1px 1px 3px #666;
}

/* 以下、クラス指定するときのアレ */

div.cal_wrapper table.cal tr td div.Sat {
	background-color: #DAE9FF;
	color: #00F;
}
div.cal_wrapper table.cal tr td div.Sun {
	color: #F00;
	background-color: #FEE;
	font-weight: bolder;
}
div.cal_wrapper table.cal tr td div.Today {
	font-weight: bolder;
}
div.cal_wrapper table.cal tr td div.Deli {
	background-color: #EFE;
}
div.cal_wrapper table.cal tr td div.Holyday {
	font-weight: bolder;
	color: #F00;
	background-color: #FEE;
}
div.cal_wrapper table.cal tr td div.Birthday {
	font-weight: bolder;
	background-color: #EEF;
	color: #090;
	border-radius: 3px;
}
div.cal_wrapper table.cal tr td div.special {
	font-weight: bolder;
	background-color: #FFEFAC;
	color: #43B19F;
	border-radius: 3px;
}

div.cal_wrapper table.cal tr td div.backward {
	color: #CCC;
	font-weight: normal;
	background-color: #FFF;
	border-radius: 3px;
}
div.cal_wrapper table.cal tr td div.pointer {
	cursor: pointer;
}
div.cal_wrapper table.cal tr td div.pointer:hover {
	background-color: #EEE;
}

.fix-box{
	position: fixed;
	left: 0;
	bottom: 0;
	z-index: 99;
	width: 100%;
	background: rgba(255,255,255,0.9);
}
.fix-box:before{
	display: inline-block;
	content: "";
	background:#E4F5F2;
	width: 26%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
.fix-box:after{
	display: inline-block;
	content: "";
	background:url(../img/common/bg_fix.png) no-repeat center bottom;
	background-size:auto 100%;
	width: 19px;
	height: 100%;
	position: absolute;
	left: 26%;
	top: 0;
	z-index: 0;
}
.fix-box .wrapper{
	display: flex;
	justify-content: space-between;
	align-items: center;
	height: 80px;
}
.fix-box .wrapper .txt{
	color: #43B19F;
	width: 18.75%;
	box-sizing: border-box;
	padding: 0 0.3em;
	line-height: 1.6;
	position: relative;
	z-index: 10;
}
.fix-box .wrapper .tel-box{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	z-index: 10;
}
.fix-box .wrapper .tel{
	font-size:2.6rem;
	font-weight: 500;
	margin-bottom: 0;
	margin-right: 0.5em;
}
.fix-box .wrapper .tel:before{
	width: 39px;
	height: 32px;
	margin-right: 0.1em;
}
.fix-box .wrapper .add{
	font-size: 0.8rem;
	line-height: 1.6;
}
.fix-box .wrapper .tel-btn{display: none;}
.fix-box .wrapper .btn02{width: 15.625%; line-height: 1;}
.fix-box .wrapper .btn{width: 12.5%; line-height: 1;}
.fix-box .wrapper .btn02 a,
.fix-box .wrapper .btn a{line-height: 54px;}

.fix-box .wrapper .btn02 a:before{
	background:url(../img/common/ico_mail_white.svg) no-repeat 5% center;
	background-size:20px auto;
	width: 20px;
	height: 17px;
	display: inline-block;
	position: relative;
	vertical-align: -0.1em;
	margin-right: 0.5em;
}
.fix-box .wrapper .btn02 a:hover:before{
	background:url(../img/common/ico_mail_green.svg) no-repeat 5% center;
	background-size:20px auto;
}
.fix-box .wrapper .btn a{font-size:0.9rem; text-align: left; padding-left: 1em;}
.fix-box .wrapper .btn a:before{
	background:url(../img/common/ico_arrow_top.svg) no-repeat 95% center;
	background-size:20px auto;
}
.fix-box .wrapper .btn a:hover:before{
	background:url(../img/common/ico_arrow_top_white.svg) no-repeat 95% center;
	background-size:20px auto;
}
@media screen and (max-width:1400px) {
	.fix-box .wrapper .txt{width: auto;}
	.fix-box .wrapper .tel-box{display: block;}
	.fix-box .wrapper .tel{margin:0 0 0.1em;}
	.fix-box .wrapper .add br{display: none;}
}
@media screen and (max-width:1160px) {
	.fix-box .wrapper .txt{display: none;}
	.fix-box .wrapper .tel-box{width: 56%;}
	.fix-box .wrapper .btn02{width: 20%;}
	.fix-box .wrapper .btn{width: 20%;}
}

/*************************************************************************************************************************

■ タブレット(960px以下)向けスタイル

*************************************************************************************************************************/

@media screen and (max-width:960px) {
/******************************************************************** structure
*/
.pc_none{display:block !important;}
.sp_none{display:none !important;}

.wrapper { width:92%;}

/******************************************************************** header
*/
header .wrapper {padding:0;}
header h1{width: 54%; height: 40px;}
header h1 a{display: block; width: 100%;
	height: 100%;
}
header h1 img{object-fit: cover; height: 100%;}
.header {height: 60px;}


/******************************************************************** globalNav
*/
.nav-button {
	display: block;
	cursor: pointer;
}
.nav-wrap {
	position: fixed;
	left: 0;
	top: 0;
	display: none;
	z-index: 100;
	background-color:#E4F5F2;
	width: 100%;
	height: 100%;
}
.nav-wrap .nav {
	height: 100%;
	position: relative;
	overflow-x: hidden;
	overflow-y: auto;
	display: block;
	padding-top: 60px;
}
.nav a {padding: 0.5em;}
.nav > li{
	width: 100%;
	text-align: left;
	border-bottom: #86CDC1 1px dotted;
}
.nav > li:first-child{border-top: #86CDC1 1px dotted;}
.nav > li > a{position: relative;}
.nav > li > a:after,
.nav li.has-child > a:after{
	display: inline-block;
	content: "";
	background:url(../img/common/ico_arrow.svg) no-repeat center center;
	background-size: cover;
	width: 16px;
	height: 16px;
	position: absolute;
	right: 5%;
	top: 50%;
	margin-top: -8px;
}
.nav > li:after,
.nav > li:first-child:before{display: none;}
.nav li.has-child > a:after{
	border: none;
	vertical-align: inherit;
}

.nav li.has-child .child {
	visibility: visible;
	opacity: 1;
	position: relative;
	top: 0;
	left: 0;
	width: 100%;
	padding:0 5%;
	border-radius:0;
	flex-wrap: wrap;
	justify-content: space-between;
}
.nav li:nth-child(3).has-child .child {left:0;}
.nav li.has-child:hover .child {top: 0;}
.nav li.has-child .child li{
	background: #FFF;
	width: 48%;
	margin-right: 0;
	border-radius: 8px;
	margin-bottom: 4%;
}
.nav li.has-child .child li a{
	padding: 0;
	font-size: 0.9rem;
	text-align: center;
}
.nav li.has-child .child li a:before{
	height: 14vw;
	margin: 0 auto;
	border-radius: 8px 8px 0 0;
}
.nav li.has-child .child li a:after{
	width: 16px;
	height: 16px;
	margin-left:0.5em;
	vertical-align: -0.2em;
}
.nav li:nth-child(2).has-child .child li:nth-child(1) a:before{background:url(../img/common/nav_about01.jpg) no-repeat center center; background-size: cover;}
.nav li:nth-child(2).has-child .child li:nth-child(2) a:before{background:url(../img/common/nav_about02.jpg) no-repeat center center; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(1) a:before{background:url(../img/common/nav_treatment01.jpg) no-repeat center center; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(2) a:before{background:url(../img/common/nav_treatment02.jpg) no-repeat center center; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(3) a:before{background:url(../img/common/nav_treatment03.jpg) no-repeat center center; background-size: cover;}
.nav li:nth-child(3).has-child .child li:nth-child(4) a:before{background:url(../img/common/nav_treatment04.jpg) no-repeat center center; background-size: cover;}

.nav > li:hover{
	background: #E4F5F2;
	border-radius: 8px;
}
.nav > li > a:before{
	display: inline-block;
	margin: 0 0.5em 0 0;
	width: 24px;
	height: 24px;
}

/*メニューボタンのエフェクト*/
.nav-button,
.nav-button span {
	display: inline-block;
	transition: all 0.4s;
	box-sizing: border-box;
}
.nav-button {
	z-index: 120;
	position: fixed;
	right: 8px;
	top: 8px;
	width: 44px;
	height: 44px;
	background:#43B19F;
	border-radius: 4px;
	text-decoration: none;
}
.nav-button:after {
	display: inline-block;
	content: "メニュー";
	color: #FFF;
	font-size: 7px;
	position: absolute;
	bottom:-4px;
	left: 0;
	width: 100%;
	text-align: center;
}
.nav-button span {
	position: absolute;
	left: 20%;
	width: 60%;
	height: 3px;
	background-color: #fff;
	border-radius: 2px;
}
.nav-button span:nth-of-type(1) {top: 8px;}
.nav-button span:nth-of-type(2) {top: 15px;}
.nav-button span:nth-of-type(3) {bottom: 19px;}
.nav-button.active span:nth-of-type(1) {
	-webkit-transform: translateY(7px) rotate(-45deg);
	transform: translateY(7px) rotate(-45deg);
}
.nav-button.active span:nth-of-type(2) {opacity: 0;}
.nav-button.active span:nth-of-type(3) {
	-webkit-transform: translateY(-7px) rotate(45deg);
	transform: translateY(-7px) rotate(45deg);
}
.nav-button.active:after {content: "閉じる";}
.nav-button:hover,
.nav-button:active{opacity: 1;}


/******************************************************************** container
*/

.main > section{padding:12% 0;}
.main > section .txt{font-size: 1rem;}
.catch .ttl-area h2{font-size:5vw;}
.main section h2{font-size:4vw;}
.catch:after{min-width:inherit;}


/******************************************************************** footer
*/
footer{
	background:url(../img/common/bg_footer.svg) no-repeat center 20vw;
	background-size: 50% auto;
	padding-top: 8%;
}

footer .wrapper {width:92%;}

.info-area{margin-bottom: 8%;}
.info-area .wrapper{flex-wrap: wrap;}
.info-area .wrapper .first{
	width: 100%;
	padding:0 4%;
	margin-bottom: 4%;
}
.info-area .wrapper .first h2{
	width: 60%;
	max-width:328px;
	margin: 0 auto;
}
.info-area .wrapper .second {
	width: 48%;
	padding:0 4% 0 0;
	border-left:none;
}
.tel{margin-bottom:0.2em;}
.tel span{
	vertical-align: middle;
	margin:0.2em 0 0;
}
.time{
	padding:0.2em 0.4em;
	margin-top: 0.4em;
}
.notice{font-size: 0.8rem; line-height: 1.6;}
.info-area .wrapper .third {
	width: 52%;
	box-sizing: border-box;
	padding:0 0 0 4%;
}
.info-area .wrapper .third h4{
	margin-bottom: 0.4em;
}

.foot-nav{
	margin-bottom: 0;
	background: #E4F5F2;
}
.foot-nav .wrapper {width:100%;}
.foot-nav ul.nav{flex-wrap: wrap;}
.foot-nav .nav li.has-child .child {
	bottom: auto;
	top: auto;
	display: block;
	padding: 0;
}
.foot-nav .nav li.has-child .child li{
	background: #F4FBFA;
	width: 100%;
	border-radius: 0;
	margin-bottom: 0;
	border-bottom: #86CDC1 1px dotted;
}
.foot-nav .nav li.has-child .child li:last-child{border-bottom: none;}
.foot-nav .nav li.has-child .child li a{
	padding:0.5em;
	text-align: left;
	font-size: 1.1rem;
}
.foot-nav .nav li.has-child .child li a:before {
	width: 24px;
	height: 1em;
	margin: 0 0.5em 0 0;
	background: transparent !important;
	display: inline-block;
}
.foot-nav .nav li.has-child .child li a:after{
	position: absolute;
	top: 50%;
	right:5%;
	margin-top: -8px;
}
.foot-nav .nav li.has-child:hover .child {bottom: auto; top: auto;}

.foot-nav .nav li.has-child > a:after{
	border:none;
	vertical-align: middle;
	margin-left: 0;
	display: inline-block;
	content: "";
	background:url(../img/common/ico_arrow.svg) no-repeat center center;
	background-size: cover;
	width: 16px;
	height: 16px;
	position: absolute;
	right: 5%;
	top: 50%;
	margin-top: -8px;
}

.foot-copy{margin-bottom: 100px;}
.foot-copy .wrapper{padding:1em 0;}

.fix-box .wrapper{height:100px; width: 94%;}
.fix-box .wrapper .add br{display: block;}
.fix-box .wrapper .tel-box{width: 50%;}
.fix-box .wrapper .tel-box .tel{font-size: 5vw;}
.fix-box .wrapper .tel:before{
	width: 1em;
	height: 1em;
	vertical-align: -0.1em;
}
.fix-box .wrapper .btn02{width: 23%;}
.fix-box .wrapper .btn{width: 23%;}

.fix-box .wrapper .btn02 a{font-size:0.9rem;}

}

/*************************************************************************************************************************

■ スマホ(600px以下)向けスタイル

*************************************************************************************************************************/

@media screen and (max-width:600px) {
/******************************************************************** structure
*/
.wrapper{width:92%;}

/******************************************************************** header
*/

/******************************************************************** globalNav
*/

/******************************************************************** container
*/
.catch:after{display:none;}

.catch .ttl-area{padding:6vh 2.5%;}
.catch .ttl-area h2{font-size:7vw; margin-bottom: 0;}
.catch .ttl-area .txt{
	margin-top: 1.5em;
	width: 90%;
	font-size: 0.8rem;
}

.txt{font-size: 0.9rem;}
.btn a,
.btn02 a,
.btn03 a{line-height:56px;}

.breadcrumb{
	margin:0;
	line-height:1.2;
	font-size: 0.7rem;
}

.main section h2{
	font-size: 6vw;
	margin-bottom: 1.2em;
}


/******************************************************************** footer
*/

.info-area .wrapper{display: block;}
.info-area .wrapper .tel{display: none;}
.info-area .wrapper .tel-btn{
	display: block;
	width: 90%;
	margin: 0 auto 4%;
}
.info-area .wrapper .tel-btn a{
	line-height: 1.2;
	font-size: 7vw;
	padding: 0.3em 0;
	border-bottom: solid 4px #43B19F;
}
.info-area .wrapper .tel-btn a:before{
	background:url(../img/common/ico_tel.svg) no-repeat 5% center;
	background-size:100% auto;
	width: 1em;
	height: 1em;
	display: inline-block;
	position: relative;
	vertical-align: -0.1em;
	margin-right: 0.3em;
}
.info-area .wrapper .tel-btn a:hover:before{
	background:url(../img/common/ico_tel_white.svg) no-repeat 5% center;
	background-size:100% auto;
}
.info-area .wrapper .tel-btn a span{
	display: block;
	font-size: 0.8rem;
}
.info-area .wrapper .second{
	width: 100%;
	padding: 0 0 8%;
	border-right: none;
}
.info-area .wrapper .time{margin-bottom:0.4em; }
.info-area .wrapper .third{
	width: 100%;
	padding: 0;
}

div.cal_wrapper table.cal tr td div{padding: 5px 10px;}

.foot-copy{margin-bottom: 54px;}
.fix-box:before,
.fix-box:after{display: none;}
.fix-box .wrapper{height: 54px; width:100%; }
.fix-box .wrapper .tel-box,
.fix-box .wrapper .btn{display:none;}
.fix-box .wrapper .tel-btn{display: block; width: 50%;}
.fix-box .wrapper .btn02{width: 50%;}
.fix-box .wrapper .tel-btn a,
.fix-box .wrapper .btn02 a{border-radius: 0; text-align: center; font-size: 1rem;}
.fix-box .wrapper .tel-btn a:before{
	background:url(../img/common/ico_tel.svg) no-repeat 5% center;
	background-size:20px auto;
	width: 20px;
	height: 16px;
	display: inline-block;
	position: relative;
	vertical-align: -0.1em;
	margin-right: 0.5em;
}
.fix-box .wrapper .tel-btn a:hover:before{
	background:url(../img/common/ico_tel_white.svg) no-repeat 5% center;
	background-size:20px auto;
}


}