@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: 120px;}	.copy a{color: #111!important;}
	
	
	.sp_fix{ position: fixed; left: 0; bottom: 0; width: 100%; background: #111; display: flex; justify-content: center; z-index: 9999;}
	.sp_fix li{background: #ee782f; color: #FFF; flex-basis: calc(100%/2); font-size: 1.1rem; font-weight: 700;  letter-spacing: 0.05rem; height: 55.05px; text-align: center;}
    .sp_fix li:nth-child(2){ background: #ff2201;}
	.sp_fix li:not(:last-child){border-right: 1px solid #fff;}
    .sp_fix a {display: block; color: #fff; letter-spacing: 0.05rem; padding: 15px 0px;}
    .sp_fix li a:before{ content:""; background: url("https://www.setaden.com/images/common/icon-tel.svg") no-repeat center/contain; display: inline-block; width: 25px; height: 25px; margin: 0 8px -5px 0;}
    .sp_fix li:nth-child(2) a:before{ background-image:url("https://www.setaden.com/images/common/icon-mail.svg"); }
    .sp_fix_text{position: fixed; left: 0; bottom: 55.05px; z-index: 9999; background: #000; color: #fff; width: 100%; font-size: 14px; letter-spacing: 1px; height: 35px; display: flex; justify-content: center; align-items: center;}
    .sp_fix li.web_link a:before{ background-image:url("https://www.setaden.com/images/common/icon-resv.svg"); }
    .sp-fix-txt { position: fixed; left: 0; bottom: 0px; width: 100%; background: #ff2200; display: flex; justify-content: center; z-index: 9999; color: #fff; border-top:1px solid #fff; text-align: center; font-weight: 600;}
	
	/* 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;}
	.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: 50%;
		flex-shrink: 0;
		width: auto;}
	
	.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{
		width: 100%!important;
		font-size: 12px;
		}
		main.sub table.price td,
		main.sub table.price 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 25px;
}	   
}
@media screen and (max-width:768px){

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

@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;

}



header .mv_dr{

    top: 25vh;

    height: auto;

    left: 20%;

}
    main.sub img.auto{width: 100%;}
    .side-img {flex-wrap: wrap;}

}

@media screen and (max-width: 768px) {
    p.case-before{ width: 90%; margin:5px auto 0; padding-left:110px; }
    p.case-after{ width: 90%; margin:5px auto 0; padding-left:115px; }
    .case table.sp-break th{ display: block; width: 100%; text-align: center; font-weight: 600; border-bottom: 1px  solid #aaa; background-color: #CCCCCC;} 
    .case table.sp-break td{ display: block; width: 100%; font-weight: 500;}
    
	.sub .block2{flex-wrap: wrap;}
	.sub .block2 > *{flex-basis: 100%;}
	.sub .block2 > *:first-of-type{margin-right: 0;}
	.sub .block2 .photo{order: 1;margin-bottom: 30px;}
	.sub .block2 .txt{order: 0; margin-bottom: 15px;}
	.sub .block2 .photo img{width: 100%; height: auto;}
    .sub .block2 .txt img{ width: 90%; margin:0 auto 0;}
	.sub .block2 .txt a{margin-top: 0;}
	
	

	
/*ドクター紹介*/
    .dr-list{width: 100%;}
    .dr-list li {width: 100%;}
    .dr-list li.dr-box {
        width: 100%;
        height: auto;
        margin-right: 0rem;
        margin-bottom: 2rem;
    }
    .dr-list li.dr-box:nth-of-type(n+3) {
        margin-top: 0rem;
    }
    .dr-list .tag-list li {
    margin-right: 0;
	}
	.side-img-dr {
    margin: 0px 0 10px;
	}
    .side-img-dr .img img{
        width: 80px;
        height:auto;
    }
    .side-img-dr .content {
    margin-left: 20px;
    }
	
	.side-img-dr .content h3 {
    margin: 1.5rem auto;
}
	.history-row {
    margin: 0 0 5rem;
}
	
	/* 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);}
	
	
}


@media screen and (max-width: 599px) {
    .sp_fix {position: fixed;left: 0;bottom: 0px;width: 100%;background: #111;display: flex;justify-content: center;z-index: 9999;}
    header .logo {top: 45%;}
    nav input:checked ~ div.sp-menu{opacity: 1!important;visibility: visible!important;lign-items: center;background: #f3f3f3;display: flex;width: 100%;justify-content: space-between;left: 0;opacity: 0;padding: 14vw 8.3vw;position: fixed;top: 0;transition-duration: .4s;z-index: 10;}
    nav input:checked ~ div.sp-menu ul{opacity:1!important;visibility: visible!important;position: initial!important;background: #f3f3f3; padding: 0px!important;}
    nav input:checked ~ div.sp-menu{ justify-content: flex-start; margin-bottom: 5rem;flex-wrap: wrap; }
    nav input:checked ~ div.sp-menu > ul + ul{margin-top: 0px;padding-top: 0px;}
    nav input:checked ~ div.sp-menu > ul > li{ font-weight: 700; padding: 6px 0px; margin-bottom: 0!important;font-size: 14px;}
    nav input:checked ~ div.sp-menu > ul > li + li{ margin-top: .2rem; }
    nav input:checked ~ div.sp-menu > ul > li.parent .row{ margin-top:1rem; }
    nav input:checked ~ div.sp-menu > ul > li.parent .child + .child{ margin-left: 1rem; }
    nav input:checked ~ div.sp-menu > ul > li.parent .child li{ font-size: .9rem; font-weight: 400; padding-left: 0.5rem; position: relative; margin-bottom: 0!important; padding-bottom: 0px!important; padding-right: 0!important;padding-left: 0;}
    nav div.sp-menu ul li a:after {display: none;}
    .row {display: flex;justify-content: space-between;}
    .treat-list .parent .row .child li a{display: flex;
    align-items: center;}
    .treat-list .parent .row .child li a:before {
        content: "";
        display: block;
        width: 1.5rem;
        height: 1.55rem;
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        margin-right: 0.6rem;
        transition: .5s;
        transform: rotateY( 0deg );
    }  
    .treat-list .parent .row .child.child01 li:nth-child(1) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico05.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(2) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico07.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(3) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico01.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(4) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico06.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(5) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico02.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(6) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico12.png);
    }
    .treat-list .parent .row .child.child01 li:nth-child(7) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico18.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(1) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico11.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(2) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico04.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(3) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico03.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(4) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico08.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(5) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico09.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(6) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico10.png);
    }
    .treat-list .parent .row .child.child02 li:nth-child(7) a:before {
    background-image: url(https://www.setaden.com/img/common/treatment_ico19.png);
    }
    
    /*sec-clinic*/
	.sec-clinic2 { padding: 14.5rem 0 5rem; background-image: url(../img/index/policy-bg01-sp.jpg); }
	.sec-clinic2  .img01{ width: 20rem; height: 20rem; background-image: url(../img/index/treatment01-sp.jpg); top: -5rem; }
	.sec-clinic2  h2{ margin-bottom: 3rem; }
    .sec-clinic2 .wrap{padding: 2rem;}
    
.sec-banner .flex-banner{
    flex-wrap: wrap;
}