@charset "UTF-8";

/* CSS Document */



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

	

	.pc{display: none;}

	.sp{display: inherit;}

	

	/* nav------------------------------------------------ */

	

	nav{flex-direction: row-reverse;

		justify-content: flex-start;

	background: none;}

		

	nav label{

		width: 60px;

		display: flex;

		flex-wrap: wrap;

		background: #ff2200;

		color: #fff;

		align-items: center;

		padding: 15px;

		z-index: 200;}

	

	nav label:before{

		content: "";

		display: block;

		width: 100%;

		border-bottom: 1px solid #fff;

		transition-duration: .4s;}

	nav label:after{

		content: "";

		display: block;

		width: 100%;

		height: 9px;

		border-top: 1px solid #fff;

		border-bottom: 1px solid #fff;

		transition-duration: .4s;}

	

	nav ul{

		position: fixed;

		width: 100%;

		top: 0;

		left: 0;

		bottom: 0;

		z-index: 100;

		padding: 30px 0;

		opacity: 0;

		visibility: hidden;

		transition-duration: .4s;}

	

	nav ul li{

		display: block;

		margin-bottom: 20px;}

	

	nav input:checked ~ ul{

		opacity: 1;

		visibility:visible;}

	

	nav input:checked ~ label{

		height: 50px;

		background:#fff;

		position: fixed;}

	

	nav input:checked ~ label:before,

	nav input:checked ~ label:after{border-color: #111;}

	

	nav input:checked ~ label:before{transform: rotate(-45deg) translate(-5px,5px);}

	nav input:checked ~ label:after{

		border-top: none;

		transform: rotate(45deg) translate(-2px,-7px);}

	

	/* footer------------------------------------------------ */

	footer{display: block;}

	footer .foot_info{padding: 30px;}

	.copy{

		background: #f8f8f8;

		color: #111;

		padding-bottom: 70px;}

	

	.sp_fix{

		position: fixed;

		left: 0;

		bottom: 0;

		width: 100%;

		background: #111;

		display: flex;

		justify-content: center;

	    z-index: 9999;}

		



	.sp_fix li{

		flex-basis: calc(100%/3);

		text-align: center;}





	.sp_fix li:not(:last-child){border-right: 1px solid #fff;}



	

	

	.sp_fix a{

		display: block;

		color: #fff;

		letter-spacing: 0.1em;

		padding:15px 0px;}

	

	.sp_fix a i{margin-right: 3px;}

	

	

	/* sub------------------------------------------------ */

	main.sub{

		width: 100%;

		padding: 60px 20px;

		box-sizing: border-box;}

	main.sub img{

		width:100%;

		height:100%;

	}

	main.sub img.w_auto{

		width:auto;

	}

	.breadcrumb ul{width: 100%;padding: 0 20px;}

	

	.sub .block{flex-wrap: wrap;}

	

	.sub .block > *{flex-basis: 100%;}

	.sub .block > *:first-of-type{margin-right: 0;}

	

	.sub .block .photo{order: 0;margin-bottom: 30px;}

	.sub .block .txt{order: 1;}

	

	.sub .block .photo img{width: 100%;}



	.sub table.type01 td{

		padding:0;

	}

.sub table th,

.sub table td{

	border:none;

}

	.sub table.type02 th,

	.sub table.type02 td{

		width:100%;

		display:block;

		border-right:none;

	}

	

#recruit_contact table,

#recruit_contact table th,

#recruit_contact table td{

width:100%;

display:block;

box-sizing: border-box;

}

#recruit_contact table textarea{

width:100%;

}



	

	/* top--------------------------------------------------------------------------------- */

	

	footer .foot_info .map_btn a{

		padding: 15px 70px;

		width: 100%;

		box-sizing: border-box;}

	

	header.top{height: 100vh;}

	section{

		width: 100%;

		padding: 0 20px;}



	

	

	header .logo{

		/*white-space: nowrap;*/

		/*min-width: 280px;*/font-size: /*7vw*/3.8vw;}

	.top_info{

		display: block;

		padding: 40px 20px;}

	

	.top_info .hour{margin-bottom: 50px;}

	.top_info .hour table{width: 100%;}

	

	.top .intro section > div{

	max-width: 85%;

    display: block;

    margin: 0 auto;

	}

	.top .intro .catch{font-size: 5vw;}

	

	.top .about{

		width: calc(100% - 40px);

		padding: 50px 40px;}

	

	.top .about .about_box{flex-wrap: wrap;}

	.top .about .about_box > *{flex-basis: 100%;}

	

	.top .about .about_box h3{

		order: 1;

		text-align: center;

		margin-bottom: 20px;}

	.top .about .about_box p,

	.top .about .about_box:nth-of-type(2) p{order: 2;}





	

	.top .facility_in{

		display: block;

		padding: 0 20px;}

	.top .facility_in .facility_box p img{max-width:51vw;}

	

	.top .facility ul{

		width: 90%;

		margin: 0 auto;

		overflow: scroll;

		display: flex;

		justify-content:left;}

	

	.top .facility ul li{

		flex-basis: 33%;

		flex-shrink: 0;

		width: auto;}

    

    .top .facility ul li h4{

        font-size: 0.8em;

        }

    .top .facility ul li:nth-child(2){margin:0 5px 30px 5px;}

	

	.top .facility .btn a{width: calc(100% - 40px);}

	

	.top .treatment ul{

		padding: 30px 20px!important;

	}

	.top .treatment ul,

	.sub .treatment ul{

		padding: 30px 0;

		display: flex;

		flex-wrap: wrap;

		justify-content: space-between;}

	

	.top .treatment ul li,

	.sub .treatment ul li{

		background: #f8f8f8;

		width: calc(49%);

		margin-bottom: 10px;}

	

	.top .treatment ul li:nth-child(n + 1):nth-child(-n+3),

	.top .treatment ul li:nth-child(n + 5):nth-child(-n+7),

	.top .treatment ul li:nth-child(n + 9):nth-child(-n+11),

	.top .treatment ul li:nth-child(n + 13):nth-child(-n+15),

	.sub .treatment ul li:nth-child(n + 1):nth-child(-n+3),

	.sub .treatment ul li:nth-child(n + 5):nth-child(-n+7),

	.sub .treatment ul li:nth-child(n + 9):nth-child(-n+11),

	.sub .treatment ul li:nth-child(n + 13):nth-child(-n+15){

		margin-right: 0;}

	

	.top .treatment ul li a,

	.sub .treatment ul li a{

		font-size: 12px;

		width: 100%;

		height: 100%;

		box-sizing: border-box;

		vertical-align: middle;

		padding: 10px;

	}

	/*--

	.sub .treatment ul li:last-child{

		width: calc(100%);

	}

	--*/

	.sub .treatment ul li:last-child a{

		padding-bottom: 20px;

	}

	/*--

	.sub .treatment ul li:last-child img{

		width: 13%;

	}

	--*/

	

	.top .treatment ul li img,

	.sub .treatment ul li img{

	width: 25%;

	height: auto;}



	

	

	

	

	.top .for_first ul li{

		flex-basis: 100%;

		margin: 0;

	}

	

	.top .for_first ul li .photo{

		width: 45%;

		margin-right: 20px;

		float: left;

		clear: left;}



	.top .clinic{

		padding-left: 20px;

		padding-right: 20px;

	}	

	.top .clinic ul{flex-wrap: wrap;}

	.top .clinic ul li{

		flex-basis: calc(50% - 40px);

		margin: 10px;}

	

	#geka_case img{

		width:155px;

		float:left;

		margin-bottom:10px;

	}

	#geka_case img:nth-child(odd){

		margin-right:10px;

	}

	

	.top .intro:after{

	width: 100vw;

	opacity:0.3;

	}

	

	

/*--------------------------------20190515更新分*/

#subclinic_list .clinic_box{

	width:100%;

	margin:15px 0 0 0;

	padding:15px 10px;

}

#subclinic_list .clinic_box p {

    margin-bottom: 0;

}

#subclinic_list .clinic_box p.clinic_name{

	font-size: 14px;

	margin-bottom:10px;

	padding-bottom:15px;

	height:auto;

}

#subclinic_list .clinic_box .btn_clinic{

	margin:10px 0 5px;

}

#subclinic_list .clinic_box .btn_clinic a{

	padding:10px 30px;

}





.footer .foot_info table{

	font-size:12px;

}



/***** slider ****/







.siema.sp-slide{

	display: block;

}

.siema.pc-slide{

	display: none;

}







.sub .box_02 {

    width: 100%;

    float: none;

    margin: 0;

}



	.top .jidv section{padding: 0 30px;}

	.top .jidv section img{width: 100%;}

	.top .jidv section p br{display:none;}

	

	

	main.sub p.img_R img{

		width: 100%;

		float: none;

		margin-left: 0;

	}	

	

		main.sub table.price,

    main.sub table.price_mb10{

		width: 100%!important;

		font-size: 12px;

		}

		main.sub table.price td,

		main.sub table.price th,

    main.sub table.price_mb10 td,

    main.sub table.price_mb10 th{

		padding:10px 8px;

		}



	.taihu_news {

    background: #f8f8f8;

    padding: 3.5vw 5vw 5vw;

    box-sizing: border-box;

    width: 100%;

    margin: 7vw auto 0;

    line-height: 2;

}



.midashi{

	font-size:4.8vw;

	color: #ff2200;

	padding-bottom:1vw;

}

	

	

.btn a{

	width: 100%;

	padding: 15px 0;

}	

	

.concept_in {

    display: block;

}

    

	.concept_box {

    flex-direction: row;

    margin-bottom: 30px;

}

.concept_box .txt {

    flex-wrap: wrap;

    font-size: 4vw;

    padding: 10px 0 30px;

}



.concept_box .txt:before {

    position: static;

    display: block;

    font-size: 6vw;

    flex-basis: 100%;

}

	

	

/*contact-page--------------------------------*/



.adjust-radio span.wpcf7-list-item, .adjust-radio-two span.wpcf7-list-item {

		margin: 0 0 0 0;

	}

	

.adjust-radio span.wpcf7-list-item {

	height: 8vw;

    width: 50%;

}	



.table_nen {

	-webkit-text-size-adjust: 100%;

}



/*

.table_nen th, td {

	font-size:14px !important;

}

*/





}









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

	header.top {

    height: 95vh;}

	header .logo{

	top:50%;}

	.mv img{height: 100%;

    /*object-position: -425px 0px;*/}

	.top_info{

		display: block;

		margin-top:0;}

	.top_info .hour table th{

		padding:6px;

	}

}











/*English Page 20200417*/

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

.english_maps {

    width: 100%;

    margin: 0 auto;

    text-align: center;

}



.english_maps iframe {

	width:90%;

	}

.shibuya_area {

	border-bottom: solid 4px dodgerblue;

    padding-bottom: 15px;

    width: 50%;

    margin: 0 auto;

}



.minato_area {

	border-bottom: solid 4px red;

    padding-bottom: 15px;

    width: 50%;

    margin: 0 auto;

	margin-top: 30px;

}



.setagaya_area {

	border-bottom: solid 4px green;

    padding-bottom: 15px;

    width: 50%;

    margin: 0 auto;

	margin-top: 30px;

}



.kotoku_area {

	border-bottom: solid 4px brown;

    padding-bottom: 15px;

    width: 50%;

    margin: 0 auto;

	margin-top: 30px;

}





.english_page_link #subclinic_list .clinic_box{

	width: 100%;

	border:0;

	display:inline-block;

	margin:0 auto;

	padding:10px;

	font-size:12px;

	box-sizing:border-box;

}



.english_maps h3 {

    font-size: 1.5em;

    margin: 0px auto 15px;

}



.english_maps .top_info .hour {

	margin-bottom: 15px;

	}



.dental_services ul li a {

    font-size: 2.9vw !important;

    width: 100%;

    height: 100%;

    box-sizing: border-box;

    vertical-align: middle;

    padding: 10px;

}



}