/* Media QuelikeTblry ================================================================================*/
.sp{display: none;}
.pc{display: inline-block;}


@media only screen and (max-width: 479px){
	.pc{display: inline-block;}
}

@media only screen and (min-width: 480px) and (max-width: 599px) {
	.pc{display: inline-block;}
	
}

@media only screen and (max-width : 599px) {
	.sp{display: inline-block;}
	.pc{display: none;}
	
	html{
		border-top: none;
	}
	
	body{
		min-width:inherit!important;
		max-width: 100%;
	}
	
	.toppage{
		width: 100%;
		margin: 0 auto;
	}
	.subPage{
		padding: 0;
	}
	
	section{
		padding: 10% 0;
	}
	.wrap{
		width: 94%;
		padding: 0;
		margin: 0 auto;
	}

	.title01{
		font-size: 6vw;
		margin-bottom: 10%;	
	}
	.title02,
	#view dt{
		font-size: 5vw;
		text-align: left;
	}

	.title03 span{
		font-size: 5vw;
		padding: 0 5% 0 0;
	}
	.title03::after{
		width: 100%;
	}
	
	.title04{
		font-size: 5vw;
		margin: 0 0 5%x
	}

	.title05{
		font-size: 4.5vw;
		margin: 0 0 5%;
	}
	
	table,
	table.time{
		font-size: 4.5vw;
		line-height: 1.4em;
	}
	
	p,
	ol li,
	ul li,
	dl dt,
	dl dd{
		font-size: 4.5vw;
		line-height: 1.6;
	}
	
	ul.disc li{
		font-size: 4.5vw;
		line-height: 1.6;
	}
		
	dl dt{
		padding: 3% 0;
	}
	dl dd{
		padding: 5% 0 10%;
	}
	dl.list dt{
		padding: 0;
	}
	dl.list dd{
		padding: 0 0 10% 0;
	}
	
	address{
		font-size: 4.5vw;
	}

	
	/*診療時間*/
	table.time th,
	table.time td{
		font-size: 5vw;
		line-height: 1.2;
		padding: 2% 0;
	}
	table.time th:first-child{
		width: 26%;
	}
	table.time .team{
		font-size: 4vw;
		margin-bottom: 1%;
	}
	
	table.time .close{
		font-size: 5vw;
		text-align: center;
	}
	
	/* header */
	header .wrap{
		position: fixed;
		z-index: 9999;
		top: 0;
		width: 100%;
		padding: 4% 4%;
		background-color: #FFF;
		box-shadow: 6px 6px 10px 0px rgba(0, 0, 0, 0.2);
	}
	header .name p:nth-child(1){
		font-size: 8vw;
		margin-bottom: 2%;
	}
	header .name p:nth-child(2){
		font-size: 3.4vw;
		letter-spacing: 0px;
	}
	header .right {
		width: 40%;
	}
	header .right .tel{
		width: 40%;
		background-color: transparent;
		padding: 0;
		border-radius: 0;
		margin: 0 10% 0 auto;
	}
	
	header .name{
		width: 80%;
		font-size: 7vw;
	}
	.name span{
		font-size: 4vw;
	}
	
	/*menu*/
	.menu-btn{
		width: 40%;
		display: block;
		z-index: 2;
		padding: 0;
		height: auto;
		box-sizing: border-box;
	}
	.spTel{
		display: block;
		width: 20%;
	}
	
	nav{
		position: fixed;
		top: 0;
		right: 0;
		z-index: 999;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		width: 70%;
		height: 100vh;
		background: #FFF;
		overflow-y: scroll;
	}
	nav ul{
		width: fit-content;
		flex-direction: column;
		margin: 20% auto 0;
	}
	nav ul li{
		width: 100%;
		margin-right: 0;
	}
	nav ul li:not(:nth-last-child(2)){
		border-right: none;
	}
	nav ul li a{
		display: block;		
		font-size: 5vw;
		text-align: left;
		line-height: 2;
	}
	
	nav ul li a::before{
		display: inline-block;
		width: 1em;
		height: 1em;
		margin: 0 0.5em 0 0;
			
	}
	
	nav ul li:last-child a{
		text-align: center;
		display: block;
		color: #FFF!important;
		border-top: none;
		background-color: #545454;
		margin: 15px 0 0 0;
	}
	nav ul li:last-child a::before{
		display: none;
	}
	
	nav{
		transform: translateX(100vw);
		transition: all .3s linear;
	}
	
	nav.is-active{
		display: block;
		transform: translateX(0);
	}
	
	.bk {
		display: none;
		position: fixed;
		z-index: 99;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #333;
		opacity: 0.6;
		transition-duration: .5s;
	}
	
	/* footer */
	.copy{
		font-size: 3.4vw;
	}
	
	.tel{
		padding: 4% 10%;
		margin: 0 auto;
	}
	
	.pagetop{	
		width: 14%;
		right: 0;
		bottom: 0;
		z-index: 1;
	}
	
	/* index.html */
	.eyecatch{
		width: 100%;
		background-image: url("../img/eyecatch_sp.jpg");
		background-size: cover;
		background-position: center bottom;
		margin-bottom: 15%;
	}
	
	.message{
		position: absolute;
		top: auto;
		bottom: 5%;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		width: 100%;
	}


	.message h1{
		font-size: 5.5vw;
		text-align: center;
		padding: 0;
		margin-bottom: 2vw;
	}
	.message p{
		font-size: 4.2vw;
		text-align: center;
	}	
	
	#pageLink .wrap{
		width: 94%;
		flex-direction: column;
	}
	#pageLink .detail{
		width: 100%;
		height: auto;
		padding: 6% 6%;
	}
	#pageLink .detail:not(:last-child){
		margin-bottom: 5%;
	}
	#pageLink .detail h2{
		font-size: 5.5vw;
		padding: 0 0 0 2.5em;
		margin: 0 0 5% 0;
	}
	#pageLink .detail h2 img{
		width: 2em;
	}

	#pageLink .detail a{
		position: inherit;
		bottom: auto;
		width: 80%;
		font-size: 5vw;
		padding: 3% 0;
		margin: 5% 0 0 auto;
	}
	
	.newsArea{
		position: inherit;
		padding: 5% 4%;
		margin-bottom: 10%;
	}
	.newsArea .title02{
		font-size: 6vw;
		text-align: center;
		margin: 0;
	}
	.newsArea .title02::before{
		display: block;
		margin: 0 auto 4%;
	}
	dl#view {
		padding: 0 5%;
		margin-bottom: 10%;
	}

	dl#view dt{
		font-size: 4.5vw;
		padding: 4% 2em 4% 0;
	}
	dl#view dd{
		font-size: 18px;
		padding: 0 0 4% 7%;
	}
	.click{
		font-size: 4vw;
		text-align: right;
		margin: 0 0 40px;
	}
	.newsArea .click{
		position: inherit;
		right: auto;
		top: auto;
		text-align: center;
		margin: 5% 0;
	}
	
	.clinicInfo{
		flex-direction: column;
	}

	.clinicInfo .left{
		width: 100%;
		margin-bottom: 10%;
	}
	
	.clinicInfo .right{
		width: 100%;
	}
	
	.clinicInfo .right .inner address{
		font-size: 5vw;
	}
	
	.clinicInfo .right iframe{
		width: 100%;
		margin-top: 4%;
	}

	.mask{
		position: relative;
		flex-direction: column-reverse;
		padding: 8% 6%;
		margin: 8% 0 10%;
	}
	.mask > img{
		position: absolute;
		right: 5%;
		top: 5%;
		width: 30%;
	}
	.mask div{
		width: 100%;
	}
	.mask div p:nth-child(1){
		font-size: 5vw;
		line-height: 1.4;
		margin-bottom: 5%;
	}

	#news{
		padding: 10% 0 15%;
	}
	#news .info{
		flex-direction: column;
	}
	#news .info .left{
		width: 100%;
		padding: 2% 4% 0;
		margin-bottom: 10%
	}

	#news .info table.time th:first-child{
		width: 30%
	}

	#news .info .right{
		width: 100%;
	}
	

	ul.download{
		flex-direction: column;
		margin-top: 5%;
	}
	ul.download li a{
		width: 100%;
		font-size: 5vw;
		padding: 2% 0;
		margin: 0 0 5% auto
	}
	ul.download li:not(:first-child){
		margin-left: 0;
	}
	
	ul.guide{
		margin-top: 8%;
	}
	ul.guide li{
		width: 100%;
		padding: 4% 2%;
		margin-bottom: 5%;
	}
	ul.guide li:nth-child(n+7){
		width: 100%;
	}
	ul.guide li img{
		width: auto;
		height: 2.5em;
	}
	ul.guide li p{
		width: 65%;
		font-size: 4.5vw;
		line-height: 1.4;
	}
	ul.guide li.child p{
		text-align: left;
	}
	ul.guide li.child span{
		font-size: 4vw;
		text-align: left;
	}
	
	
	/* doctor.html --------------------------------------------------- */
	#doctor .name{
		font-size: 6vw;
		margin: 10% 0 5%;
	}
	#doctor .name span{
		display: block;
		font-size: 4vw;
		margin-right: 0;
	}

	.prof{
		margin-left: 8%;
	}
	.prof h3{
		margin: 0 0 5%;
	}
	.prof ul li{
		padding-left: 2em;
	}

	/* medical --------------------------------------------------- */
	.wrap.info{
		padding: 8% 4%;
	}
	.info h2{
		color: var(--color);
		font-size: 6vw;
		margin: 0 0 10%;
	}
	.info h2 img{
		width: 10%;
		margin: 0 auto 4%;
	}
	.telLink{
		flex-direction: column;
		width: 100%;
		margin: 5% 0 0 auto;
	}
	.telLink p{
		font-size: 5vw;
		font-weight: bold;
		line-height: 1;
		margin: 0 0 5% 0;
	}
	.telLink img{
		width: 100%;
	}
	
	
	/* clinic --------------------------------------------------- */
	.kasan h3 span{
		font-size: 4vw;
	}

	.kasan .click{
		text-align: right;
		margin-bottom: 2%;
	}

	.kasan p,
	.kasan dl dd p,
	.kasan dl dd li{
		font-size: 3.6vw;
	}

	.kasan dl dt{
		font-size: 4vw;
		font-weight: normal;
		padding: 2% 0 2% 1em;
	}
	.kasan dl dd{
		padding: 0 0 2% 1em;
	}
	
	.kasan ul.disc{
		margin-left: 0;
	}
	

	/* access --------------------------------------------------- */
	#access h2{
		margin-bottom: 5%;
	}
	#access .wrap > div{
		align-items: flex-start;
		flex-direction: column;
		margin-bottom: 10%;
	}

	#access table{
		width: 100%;
		table-layout: fixed;
	}
	#access table th{
		display: inline-block;
		width: auto;
		padding: 0 4%;
	}
	#access table td{
		display: block;
		text-align: right;
		border-bottom: #749A77 1px solid;
		padding: 4% 0;
	}

}

@media only screen and (max-width : 992px){
	body{min-width: 1100px;}
	
}


@media print, only screen and (min-width:1351px){
	body{min-width: 1100px;}
	
}