
* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}

	*:before,
	*:after {
	 -webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	}

	body {
	position: relative;
	color: #5a5045;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	font-size: 18px;
	font-weight: 400;
	line-height: 1.7;
	word-wrap: break-word;
	padding: 0;
    margin: 0;
    font-style: normal;
	}

	#wrapper {
	position: relative;
	max-width: none;
	/* max-width: 1920px;
	width: 100%;
	margin: 0 auto;
	display: block;
	overflow: hidden;
	/* padding-top: inherit; */
	}


	img {
	vertical-align: bottom;
	}

	li,dt,dd {
	vertical-align: top;
	}

	iframe {
	vertical-align: bottom;
	}



	a {
	color: #39352c;
	opacity: 1;
	transition-property: opacity,color,filter;
	transition-duration: 0.3s;
	transition-timing-function: ease-in-out;
	transition-delay: 0s;
	}
	a:hover {
	opacity: 0.6;
	}



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

	display:none

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

/* PC
----------------------------------------------- */
@media (min-width: 768px) {

	/* PC */
	.br-sp {
		display: none;
	}

	.pc_none {
		display: none!important;
	}

	/* flex-container */
	.flex-container{
	display: flex;
	flex-wrap: wrap;
    max-width: 1320px;
    margin: 0 auto;
	}
	
	.container{
	max-width: 1200px;
    margin: 0 auto;

	}
}



/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	/* SP */
	.br-pc {
		display: none;
	}


	.sp_none {
		display: none!important;
	}

}


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

	

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

/* PC
----------------------------------------------- */
@media (min-width: 768px) {
	p{
	line-height: 1.8em;
	letter-spacing: -0.03em;
	font-size: 16px;
	margin: 0 0 24px 0;
	}

	/* h1
	----------------------------------------------- */
	
	h1{
    margin: 0;
    position: absolute;
    top: 0;
    width: 100%;
    padding: 0;
    background: #fff;
    z-index: 900;
    border-bottom: 4px solid #b9444d;
    }
    	
	h1 img{
    width: 40%;
    margin: 0 auto;
    display: block;
    }
    
	


	/* h2
	----------------------------------------------- */
	h2{
		font-family: 'Noto Serif JP', serif;
		line-height: 1.4em;
		font-size: 30px;
		letter-spacing: -0.03em;
		margin: 0 0 1em 0;
	}
	

	/* h3
	----------------------------------------------- */
		h3{
		line-height: 1.4em;
	    font-size: 24px;
	    letter-spacing: -0.03em;
	    margin: 0 0 30px 0;
	    font-weight: 400;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
		h3 span{
		line-height: 1.4em;
		font-size: 18pxvw;
		letter-spacing: -0.03em;
		margin: 0 0 24px 0;
	}
	



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

	.mincho {
		font-family: 'Noto Serif JP', serif;
	}

	/* youtube
	----------------------------------------------- */

	.youtube {
	  position: relative;
	  width: 100%;
	  padding-top: 45.25%;
	}
	.youtube iframe {
	  position: absolute;
	  top: 0;
	  right: 0;
	  width: 100%;
	  height: 100%;
	  padding: 0 15%;
	}
}


/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	p{
	line-height: 1.8em;
    letter-spacing: -0.03em;
    font-size: 4.5vw;
    margin: 0 0 8vw 0;
	}


	/* h1
	----------------------------------------------- */
	
	h1{
    margin: 0;
    top: 0;
    width: 100%;
    padding: 0vw 0 0vw;
    background: #fff;
    z-index: 900;
    height: 12vh;
    border-bottom: 4px solid #b9444d;
    }
    	
	h1 img{
    display: block;
    height: 100%;
    margin: 0 auto;
    }
    
	


	/* h2
	----------------------------------------------- */
	h2{
		/* font-family: 'Noto Serif JP', serif; */
		line-height: 1.4em;
		font-size: 5.5vw;
		letter-spacing: -0.03em;
		margin: 0 0 5vw 0;
		display: block;
	}
	

	/* h3
	----------------------------------------------- */
		h3{
		line-height: 1.4em;
	    font-size: 6.5vw;
	    letter-spacing: -0.03em;
	    margin: 0 0 7vw 0;
	    font-weight: 400;
		font-family: 'Noto Sans JP', sans-serif;
	}
	
		h3 span{
		line-height: 1.4em;
		font-size: 5.3vw;
		letter-spacing: -0.03em;
		margin: 0 0 7vw 0;
	}
	


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

	.mincho {
		font-family: 'Noto Serif JP', serif;
	}

	/* youtube
	----------------------------------------------- */

	.youtube {
	  position: relative;
	  width: 100%;
	  padding-top: 56.25%;
	}
	.youtube iframe {
	  position: absolute;
	  top: 0;
	  right: 0;
	  width: 100%;
	  height: 100%;
	}
}
	


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

	header

================================================================================ */
/* PC
----------------------------------------------- */
@media (min-width: 768px) {


	header {
    margin: 0 auto;
    display: block;
    height: 100vh;
    position: relative;
    border-bottom: 4px solid #b9444d;
}

	.header_logo {
    position: absolute;
    top: 2vw;
    left: 6vw;
    height:18vh;
}
	


	----------------------------------------------- */
	
#slide img{
    height: auto;
    width: 100%;
    margin: 0 auto;
    display: block;
    }

    #slider {
    position: relative;
    }

	#slidertype1{
	background: url(../images/main_logo.jpg);
	background-size: 50%;
	background-repeat: no-repeat;
	background-position: 50% 150%;
	position: relative;
	height: 97vh;
	}


	#slidertype2{
	background: url(../images/main_bg02.jpg);
	background-size: 70%;
	background-repeat: no-repeat;
	background-position: center 64px;
	position: relative;
	height: 99vh;
	}
		

	#slidertype2 .slidertext{
    position: absolute;
    z-index: 1;
    color: #fff;
    text-align: center;
    margin: 19vw auto;
    width: 100%;
    }


	#slidertype2 .sliderbox{
	position: absolute;
    top: 59%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
    display: block;
    }

   
	.sliderbox2 p{
    line-height: 2;
    letter-spacing: -0.01em;
    font-size: 24px;
    margin: 60px 0 0 0;
    }
	
	#slidertype2 .sliderbox1{
	top: 12px;
	margin: 0 auto 8em;
	width: 100%;
	text-align: center;
	color: #333;
	}
		
	#slidertype2 .sliderbox2{
	margin: 0 auto;
	width: 100%;
	text-align: center;
	color: #333;
	}
	
	#slidertype2 .slidertext1{
	font-family: 'Roboto', sans-serif;
	font-size: 49px;
	letter-spacing: -0.01em;
	margin-bottom: 0vw;
	line-height: 1em;
	font-weight: 400;
	margin-left: -3vw;
	}
	
	#slidertype2 .slidertext2{
	font-size: 66px;
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF,  0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
	letter-spacing: -0.1em;
	line-height: 1.2em;
	letter-spacing: 0.05em;
	margin-bottom: 0.2%;
	margin-left: -4%;
	font-weight: 600;
	}
	
	#slidertype2 .slidertext3{
	font-size: 40px;
	letter-spacing: -0.02em;
	line-height: 1em;
	font-weight: 800;
	}
			
	#slidertype2 .slidertext4{
	font-size: 40px;
	letter-spacing: -0.01em;
	line-height: 1.3em;
	font-weight: 600;
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF, 0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
	}
				
	#slidertype2 .slidertext5{
	font-size: 60px;
	letter-spacing: -0.03em;
	margin-bottom: 0vw;
	line-height: 1em;
	font-weight: 600;
	text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,-1px 1px 0 #FFF, 1px -1px 0 #FFF,0px 1px 0 #FFF, 0-1px 0 #FFF,-1px 0 0 #FFF, 1px 0 0 #FFF;
	}
	
	#slidertype2 .slidertext5 span{
	font-size: 33px;
	margin-bottom: 0vw;
	line-height: 1em;
	font-weight: 600;
	}
}

/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	header {
    margin: 0 auto;
    display: block;
    height: 93vh;
    /* position: relative; */
    padding: 0;
}

	.header_logo {
    position: absolute;
    top: 2vw;
    left: 6vw;
    height:18vh;
}
	
	
	

	----------------------------------------------- */
	
	#slide img{
    width: 100vw;
    margin: 0 auto;
    display: block;
    height: 81vh;
    }

    #slider {
    position: relative;
    }

	#slidertype1{
	background: url(../images/main_logo.jpg);
	background-size: contain;
	background-repeat: no-repeat;
	background-position: 50% 28%;
	height: 100vh;
	}


	#slidertype2{
	background: url(../images/main_bg02.jpg);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50%;
	position: relative;
	height: 81vh;
	}
		
	#slidertype2 .slidertext{
    position: absolute;
    z-index: 1;
    color: #fff;
    text-align: center;
    margin: 19vw auto;
    }

	#slidertype2 .sliderbox{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	}

   
	.sliderbox2 p{
    line-height: 2;
    letter-spacing: -0.01em;
    font-size: 2.2vh;
    margin: 4vh 0 0 0;
    }
	
	#slidertype2 .sliderbox1{
	top: 0;
	margin: 0 auto 11vh;
	width: 100%;
	text-align: center;
	color: #0e0f13;
	font-weight: 600;
	}
		
	#slidertype2 .sliderbox2{
	margin: 0 auto;
	width: 100%;
	text-align: center;
	color: #0e0f13;
	font-weight: 600;
	margin-bottom: 4vw;
	}
	
	#slidertype2 .slidertext1{
	font-family: 'Roboto', sans-serif;
	font-size: 4.3vh;
	letter-spacing: -0.01em;
	margin-top: 20vw;
	line-height: 1em;
	font-weight: 400;
	margin-left: 3vw;
	}
	
	#slidertype2 .slidertext2{
	font-size: 4.5vh;
	text-shadow: 2px 2px 0 #FFF, -2px -2px 0 #FFF,-2px 2px 0 #FFF, 2px -2px 0 #FFF,0px 2px 0 #FFF,  0 -2px 0 #FFF,-2px 0 0 #FFF, 2px 0 0 #FFF;
	letter-spacing: -0.1em;
	line-height: 1.2em;
	letter-spacing: -0.05em;
	margin-top: 24.2vw;
	}
	
	#slidertype2 .slidertext3{
	font-size: 3.3vh;
	letter-spacing: -0.02em;
	line-height: 1em;
	font-weight: 800;
	margin-left: 7vw;
	}
			
	#slidertype2 .slidertext4{
	font-size: 4.3vh;
	letter-spacing: -0.01em;
	line-height: 1.3em;
	font-weight: 600;
	}
				
	#slidertype2 .slidertext5{
	font-size: 5vh;
	letter-spacing: -0.03em;
	margin-bottom: 0vw;
	line-height: 1em;
	font-weight: 600;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
	}
	
	#slidertype2 .slidertext5 span{
	font-size: 2vh;
	margin-bottom: 0vw;
	line-height: 1em;
	font-weight: 600;
	}
	
}
	


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

	row01

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

.row01 {
	padding:0;
}


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

	sec01

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

/* PC
----------------------------------------------- */
@media (min-width: 768px) {

	.sec01 {
	background: url(../images/sec01_bg.jpg)#fff no-repeat bottom right;
	background-size: 41%;
	padding: 6% 39% 3% 6%;
	border-bottom: 4px solid #b9444d;
	}

	#sec01 h2 span{
    margin: -3px auto 0px;
    display: block;
    font-size: 11px;
	}

	#sec01 p{
	text-align: center;
    color: #1a78e4;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.6em;
    margin-top: 40px;
    letter-spacing: 0.08em;
	}

	}
	
	

/* SP
----------------------------------------------- */
@media (max-width: 767px) {
	.sec01 {
	background: url(../images/sec01_bg.jpg)#fff no-repeat bottom;
	background-size: 100%;
	padding: 7vw 6vw 85vw;
	border-top: 4px solid #b9444d;
	border-bottom: 4px solid #b9444d;
	}

	#sec01 h2 span{
    margin: -3px auto 0px;
    display: block;
    font-size: 11px;
	}

	#sec01 p{
	text-align: center;
    color: #1a78e4;
    font-size: 27px;
    font-weight: 600;
    line-height: 1.6em;
    margin-top: 40px;
    letter-spacing: 0.08em;
	}
}
	

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

	sec02

================================================================================ */
/* PC
----------------------------------------------- */
@media (min-width: 768px) {

		/* article01
	----------------------------------------------- */
	.sec02 .article01{
    padding: 6% 6% 0;
	}
	
	
	/* article02
	----------------------------------------------- */
	.sec02 .article02 {
    background: url(../images/sec02_bg.jpg) no-repeat top right;
    background-size: contain;
    padding: 6% 22% 6% 6%;
}
	

	/* article03
	----------------------------------------------- */
	.sec02 .article03{
    background: url(../images/sec03_bg.jpg) no-repeat bottom right;
    background-size: contain;
    padding: 6% 40% 6% 6%;
	}


	/* article04
	----------------------------------------------- */
	.sec02 .article04{
    background: url(../images/sec04_bg.jpg)#86c5d4 no-repeat bottom right;
    background-size: 39%;
    padding: 6% 40% 6% 6%;
 }
}


/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	/* article01
	----------------------------------------------- */
	.sec02 .article01{
    padding: 7vw 6vw 0;
	}
	
	
	/* article02
	----------------------------------------------- */
	.sec02 .article02{
    background: url(../images/sec02_bg.jpg) no-repeat top right;
    background-size: contain;
    padding: 0vw 34% 0 6vw;
 }
	
	.sec02 .article02 p{
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,-1px 1px 0 #fff, 1px -1px 0 #fff,0px 1px 0 #fff, 0-1px 0 #fff,-1px 0 0 #fff, 1px 0 0 #fff;
	}

	/* article03
	----------------------------------------------- */
	.sec02 .article03{
    background: url(../images/sec03_bg.jpg) no-repeat bottom center;
    background-size: contain;
    padding: 6vw 6vw 70vw;
	}

	.sec02 .article03 p{
    text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff,-1px 1px 0 #fff, 1px -1px 0 #fff,0px 1px 0 #fff, 0-1px 0 #fff,-1px 0 0 #fff, 1px 0 0 #fff;
	}


	/* article04
	----------------------------------------------- */
	.sec02 .article04{
    background: url(../images/sec04_bg.jpg)#87c6d5 no-repeat bottom center;
    background-size: contain;
    padding: 9vw 6vw 70vw;
 }
}
/* ================================================================================

	sec03

================================================================================ */
/* PC
----------------------------------------------- */
@media (min-width: 768px) {

	.sec03{
	
	}
	

	/* article01
	----------------------------------------------- */
	.sec03 .article01{
    padding:  6%;
    
	}
	
	/* article02
	----------------------------------------------- */
	.sec03 .article02{
    background: #000;
    background-size: 30%;
    padding:  6% 30% 6% 6%;
    color: #fff;
    overflow: hidden;
    text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;
    border-bottom: 4px solid #b9444d;
 }
	
	.sec03 .article03 {
    /* background: url(../images/sec06_bg.jpg) no-repeat 100% 50%; */
    background-size: 30%;
    padding: 6% 30% 6% 6%;
    overflow: hidden;
    }

	.sec03 .article04 {
    /* background: url(../images/sec07_bg.jpg) no-repeat 100% 50%; */
    background-size: 30%;
    padding: 0% 30% 6% 6%;
    overflow: hidden;
    border-bottom: 4px solid #b9444d;
    }
    
	.sec03 .article05 {
    background-size: 100%;
    padding: 6%;
    overflow: hidden;
    }

	.sec03 .article05 p{
    margin-bottom: 0;
	}
	
	.sec03 .article06 {
    background-size: 30%;
    padding: 6%;
    overflow: hidden;
    }

	.sec03 .article06 p{
    margin-bottom: 0;
	}
	
	.sec03 .article06 p{
    margin-bottom: 0;
	}
}

/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	.sec03{
	border-bottom: 4px solid #b9444d;
	}
	

	/* article01
	----------------------------------------------- */
	.sec03 .article01{
    padding: 9vw 6vw 0;
    
	}
	
	/* article02
	----------------------------------------------- */
	.sec03 .article02{
    background: #000;
    background-size: 100%;
    padding: 9vw 6vw 0;
    color: #fff;
    overflow: hidden;
    text-shadow:1px 1px 0 #000, -1px -1px 0 #000,-1px 1px 0 #000, 1px -1px 0 #000,0px 1px 0 #000,  0-1px 0 #000,-1px 0 0 #000, 1px 0 0 #000;
    border-bottom: 4px solid #b9444d;
 }
	
	.sec03 .article03 {
    /* background: url(../images/sec06_bg.jpg) no-repeat bottom center; */
    background-size: 100%;
    padding: 9vw 6vw 0;
    overflow: hidden;
    }

	.sec03 .article04 {
    /* background: url(../images/sec07_bg.jpg) no-repeat bottom center; */
    background-size: 100%;
    padding: 9vw 6vw 0;
    overflow: hidden;
    }
    
	.sec03 .article05 {
    background-size: 100%;
    padding: 9vw 6vw 0;
    overflow: hidden;
    }

	.sec03 .article05 p{
    margin-bottom: 0;
	}
	
	.sec03 .article06 {
    background-size: 100%;
    padding: 9vw 6vw;
    overflow: hidden;
    }

	.sec03 .article06 p{
    margin-bottom: 0;
	}
	
	.sec03 .article06 p{
    margin-bottom: 0;
	}
}

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

	sec04

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

/* PC
----------------------------------------------- */
@media (min-width: 768px) {

	/* article01
	----------------------------------------------- */
	.sec04 .article01 {
    padding: 6% 30% 6% 6%;
    background: url(../images/sec07_bg.jpg) no-repeat 100% 50%;
    background-size: 56%;
    padding: 6% 30% 25% 6%;
    overflow: hidden;
 }
	
	/* article02
	----------------------------------------------- */
	.sec04 .article02{
    /* background: url(../images/sec02_bg.jpg) no-repeat top right; */
    background-size: contain;
    padding: 0vw 34% 0 6vw;
 }
	
	/* article03
	----------------------------------------------- */
	.sec04 .article03{
    background: url(../images/sec03_bg.jpg) no-repeat top right;
    background-size: contain;
    padding: 5vw 34% 0 6vw;
	}
}

/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	/* article01
	----------------------------------------------- */
	.sec04 .article01{
    background: url(../images/sec07_bg.jpg) no-repeat bottom center;
    background-size: 100%;
    padding: 9vw 6vw 65vw;
    overflow: hidden;
 }
	
	/* article02
	----------------------------------------------- */
	.sec04 .article02{
    /* background: url(../images/sec02_bg.jpg) no-repeat top right; */
    background-size: contain;
    padding: 5vw 5vw 0 6vw;
 }
	
	/* article03
	----------------------------------------------- */
	.sec04 .article03{
    background: url(../images/sec03_bg.jpg) no-repeat top right;
    background-size: contain;
    padding: 5vw 34% 0 6vw;
	}
}

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

	footer

================================================================================ */
/* PC
----------------------------------------------- */
@media (min-width: 768px) {

	footer hr.style-four {
    height: 12px;
    border: 0;
    box-shadow: inset rgb(0 0 0 / 27%) 1px -12px 12px -12px;
	}
	
	.contactArea p{
    font-size: 30px;
    font-weight: 600;
    margin: 20px auto;
    line-height: 1.5em;
 }
	
	.clinic{
	text-align: center;
    font-size: 4.5vw;
    font-weight: 600;
    margin-bottom: 4vw;
	}
	
	.contactArea span{
    font-size: 18px;
    font-weight: 400;
    display: block;
 }
	

	.footerButton a{
	border: 2px solid #0a0a0a;
	padding: 10px 20px;
	border-radius: 22vw;
	width: 13em;
	text-align: center;
	text-decoration: none;
	margin: 0 auto 20px;
	font-weight: 600;
	font-size: 27px;
	display: flow-root;
	}
	
	.open-hour-table {
	    margin: 30px auto;
    	width: 100%;
    	font-style: normal;
	}
	.open-hour-table__first-row,
	.open-hour-table__row {
	    display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	     -ms-flex-align: center;
	        align-items: center;
		width: 100%;
		box-sizing: border-box;
	}
	.open-hour-table__first-row {
		border-bottom: 2px solid #cbcbcb;
		border-top: 2px solid #cbcbcb;
		-webkit-box-align: stretch;
	     -ms-flex-align: stretch;
	        align-items: stretch;
	}
	.open-hour-table__row {
		border-bottom: 1px solid #cbcbcb;
	}
	.open-hour-table__row:nth-child(4) {
		border-bottom: 2px solid #cbcbcb;
	}
	.open-hour-table__first-row > .day-cell,
	.open-hour-table__row > .day-cell {
	    margin: 0 0.2rem;
	    width: 10%;
	    display: block;
	    text-align: center;
	    font-weight: 800;
	    box-sizing: border-box;
	    border-left: 1px solid #cbcbcb;
	    font-size: 1.2rem;
	    position: relative;
	}
	.open-hour-table__first-row > .day-cell {
		font-weight: bold;
		font-size: 16px;
		border-left: none;
		background: #fff;
		padding: 0.5rem 0;
	}
	.day-cell.open {
		color: #5f5f5f;
		padding: 0.5rem 0;
    height: 100%;
    display: inline-block;
	}
	.day-cell.off {
		color: #9f9f9f;
		padding: 0.5rem 0;
    height: 100%;
    display: inline-block;
	}
	.day-cell > .note1 {
		font-size: 0.65rem;
		position: absolute;
	}
	.day-cell > .note2 {
		font-size: 15px;
		display: block;
		font-weight: 500;
		margin-top: 0;
		font-style: normal;
		line-height: 1em;
	}
	.hour-cat {
	    width: 30%;
	    display: block;
	    padding: 0.5rem 0;
	    font-weight: 500;
	    background: #f0f0f0;
	    text-align: center;
	}
	.hour-cat .txt1 {
		display: block;
		font-size: 16px;
		font-weight: 500;
		line-height: 1.5;
	}
	.hour-cat .txt2 {
		font-size: 15px;
		font-style: normal;
	}
	.open-hour-table__first-row > .hour-cat {
		background: #f0f0f0;
		FONT-VARIANT: JIS04;
	}
	.day-cell.sat {
		background: #f0f0f0;
		padding: 0.5rem 0;
		height: 100%;
		display: inline-block;
	}
	.day-cell.sun {
		background: #f0f0f0;
		min-width: 20%;
		padding: 0.5rem 0;
	}
	.open-hour-table__row:nth-child(3) .day-cell.sat,
	.open-hour-table__row:nth-child(3) .day-cell.sun {
		padding: 0.3rem 0;
	}
	.open-hour-appendix {
	margin-top: 15px;
    font-style: normal;
    padding: 0 4vw;
	}
	#footer_info .open-hour-appendix p {
	font-size: 16px;
	line-height: 1.7;
	font-weight: 500;
	margin-bottom: 0.5rem;
	letter-spacing: -0.06em;
	}
	#footer_info .open-hour-appendix p.text_sb {
		font-size: 16px;
		font-weight: 400;
		line-height: 1.4;
		margin-bottom: 0.5rem;
	}

	.footerLogoArea {
	margin-top: 15px;
	font-style: normal;
	padding: 0 4vw 30px;
	text-align: center;
	}

	.footerLogoArea img{
	width: 60px;
	}

	.footerLogoArea p{
	margin-top: 25px;
	font-style: normal;
	padding: 0 4vw;
	text-align: center;
	font-weight: normal;
	font-size: 20px;
	}
	.footer_copy{
	margin-top: 15px;
	font-style: normal;
	padding: 0 40px;
	text-align: center;
	font-weight: normal;
	font-size: 16px;
	}

}

/* SP
----------------------------------------------- */
@media (max-width: 767px) {

	footer hr.style-four {
    height: 12px;
    border: 0;
    box-shadow: inset rgb(0 0 0 / 27%) 1px -12px 12px -12px;
	}
	
	.contactArea p{
    font-size: 5vw;
    font-weight: 600;
    margin-bottom: 3vh;
    margin-top: 3vh;
    line-height: 1.5em;
 }
	
	.clinic{
	text-align: center;
    line-height: 1.5em;
	}
	
	.contactArea span{
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5em;
    display: block;
    font-weight: 600;
 }
	

	.footerButton a{
	border: 2px solid #0a0a0a;
    padding: 12px 20px 10px;
    border-radius: 22vw;
    display: block;
    margin: 0 auto;
    width: 65%;
    text-align: center;
    text-decoration: none;
    margin-bottom: 5vw;
    font-weight: 600;
    font-size: 6vw;
	}
	
	.open-hour-table {
	    margin: 30px auto 0;
	    width: 100%;
	    font-style: normal;
	    border-bottom: 4px solid #b9444d;
	}
	.open-hour-table__first-row,
	.open-hour-table__row {
	    display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-pack: distribute;
	justify-content: space-around;
	-webkit-box-align: center;
	     -ms-flex-align: center;
	        align-items: center;
		width: 100%;
		box-sizing: border-box;
	}
	.open-hour-table__first-row {
		border-bottom: 2px solid #cbcbcb;
		border-top: 2px solid #cbcbcb;
		-webkit-box-align: stretch;
	     -ms-flex-align: stretch;
	        align-items: stretch;
	}
	.open-hour-table__row {
		border-bottom: 1px solid #cbcbcb;
	}
	.open-hour-table__row:nth-child(4) {
		border-bottom: 2px solid #cbcbcb;
	}
	.open-hour-table__first-row > .day-cell,
	.open-hour-table__row > .day-cell {
	    margin: 0 0.2rem;
	    width: 10%;
	    display: block;
	    text-align: center;
	    font-weight: 800;
	    box-sizing: border-box;
	    border-left: 1px solid #cbcbcb;
	    font-size: 1.2rem;
	    position: relative;
	}
	.open-hour-table__first-row > .day-cell {
		font-weight: bold;
		font-size: 0.8rem;
		border-left: none;
		background: #fff;
		padding: 0.5rem 0;
	}
	.day-cell.open {
		color: #5f5f5f;
		padding: 0.5rem 0;
    height: 100%;
    display: inline-block;
	}
	.day-cell.off {
		color: #9f9f9f;
		padding: 0.5rem 0;
    height: 100%;
    display: inline-block;
	}
	.day-cell > .note1 {
		font-size: 0.65rem;
		position: absolute;
	}
	.day-cell > .note2 {
		font-size: 3vw;
    display: block;
    font-weight: 500;
    margin-top: 0;
    font-style: normal;
    line-height: 1em;
	}
	.hour-cat {
	    width: 30%;
	    display: block;
	    padding: 0.5rem 0;
	    font-weight: 500;
	    background: #f0f0f0;
	    text-align: center;
	}
	.hour-cat .txt1 {
		display: block;
		font-size: 0.9rem;
		font-weight: 500;
		line-height: 1.5;
	}
	.hour-cat .txt2 {
		font-size: 2.7vw;
		font-style: normal;
	}
	.open-hour-table__first-row > .hour-cat {
		background: #f0f0f0;
		FONT-VARIANT: JIS04;
	}
	.day-cell.sat {
		background: #f0f0f0;
		padding: 0.5rem 0;
		height: 100%;
		display: inline-block;
	}
	.day-cell.sun {
		background: #f0f0f0;
		min-width: 20%;
		padding: 0.5rem 0;
	}
	.open-hour-table__row:nth-child(3) .day-cell.sat,
	.open-hour-table__row:nth-child(3) .day-cell.sun {
		padding: 0.3rem 0;
	}
	.open-hour-appendix {
	margin-top: 15px;
    font-style: normal;
    padding: 0 4vw;
	}
	#footer_info .open-hour-appendix p {
	font-size: 3vw;
    line-height: 1.7;
    font-weight: 400;
    margin-bottom: 0.5rem;
    letter-spacing: -0.06em;
	}
	#footer_info .open-hour-appendix p.text_sb {
	font-size: 3vw;
    line-height: 1.7;
    font-weight: 400;
    margin-bottom: 0.5rem;
    letter-spacing: -0.06em;
	}

	.footerLogoArea {
	margin-top: 0;
	font-style: normal;
	padding: 4vw 0vw 30vw;
	text-align: center;
	border-top: 4px solid #b9444d;
	}

	.footerLogoArea img{
	width: 20vw;
	}

	.footerLogoArea p{
	margin-top: 15px;
	font-style: normal;
	padding: 0 4vw;
	text-align: center;
	font-weight: normal;
	font-size: 4vw;
	}
	.footer_copy{
	margin-top: 15px;
	font-style: normal;
	padding: 0 4vw;
	text-align: center;
	font-weight: normal;
	font-size: 3vw;
	}

}


	/* ?y?[?W?g?b?v
	----------------------------------------------- */

#page_top{
width: 50px;
    position: fixed;
    right: 0;
    bottom: 0vw;
    background: #ec793c;
    opacity: 0.6;
    z-index: 9000;
}
#page_top a{
  position: relative;
    display: block;
    width: 50px;
    text-decoration: none;
}
#page_top a::before{
font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f0d8';
    font-size: 25px;
    color: #fff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -6.2vw;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}


	/* Googlemap
	----------------------------------------------- */


.ggmap {
position: relative;
padding-bottom: 56.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}


.sp_fixed_btn {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 7vh;
    background: #fff6e9;
    z-index: 1000;
    }

    .sp_fixed_btn .txt {
        font-size: 4.4vw;
        color: #eb5e13;
        text-align: center;
        font-weight: bold;
        padding: 4vw 0;
    margin: 0;
    }

    .sp_fixed_btn .tel {
        border-right: 1px solid #fff;
    }

    .sp_fixed_btn .reserve {
        border-left: 1px solid #fff;
    }

    .sp_fixed_btn .tel,
    .sp_fixed_btn .reserve {
        width: 100%;
        margin: 0;
        border-radius: 0;
        height: 7vh;
        font-size: 2vh;
        padding: 0;
        display: block;
        position: relative;
    }

    .sp_fixed_btn .tel a {
        padding: 2vh 9vw 0 12vw;
        border-radius: 0;
    }

    .sp_fixed_btn .tel a::before {
        width: 4.6vh;
        height: 7.3vh;
        top: 2vh;
        left: 12vh;
    }

    .sp_fixed_btn .tel a::after {
        top: 4.6vw;
    }

    .sp_fixed_btn .reserve a {
        padding: 3.4vw 0 3.4vw 14vw;
        font-size: inherit;
        border-radius: 0;
    }
    
    .btn.reserve a {
    display: block;
    background: #149a53;
    color: #fff;
    border-radius: 0;
    text-decoration: none;
    height: 7vh;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

    .btn.reserve a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f1da';
    font-size: 3vh;
    color: #fff;
    position: absolute;
    width: 3vh;
    height: 3vh;
    top: 3vw;
    left: 4vw;
    margin: auto;
    text-align: center;
}

    
    .btn.tel a {
    display: block;
    background: #b9444d;
    color: #fff;
    border-radius: 0;
    text-decoration: none;
    height: 7vh;
    width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
}

    .btn.tel a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f3cd';
    font-size: 3vh;
    color: #fff;
    margin: auto;
    text-align: center;
    margin-right: 1em;
    position: absolute;
    height: 3vh;
    width: 3vh;
}


    
    .btn.tel a::after,
    .btn.reserve a::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f054';
    font-size: 2vh;
    color: #fff;
    width: 2vh;
    height: 2vh;
    margin: auto;
    text-align: center;
    position: absolute;
    top: 2.8vh;
    right: 1vh;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


.flex {
    display: flex;
    flex-wrap: wrap;
}



ul{
    margin-left: 1em;
    padding: 0;
    text-indent: -1em;
}

ul li{
    list-style: none;
    margin: 0;
    padding: 0;
}


dl{display: flex;
}

dt{width:20;}
dd{width:80%;}