@charset "UTF-8";
/* CSS Document */

@media screen and (max-width:768px){
	
	.pc{display: none;}
	.sp{display: initial}
	
	.wrap{ width: 100%; padding-left: 3.75rem; padding-right: 3.75rem; }
	.row{ flex-wrap: wrap; }
	
	header{padding: 5px 15px;}

	.mv{ height: 41.33vw; }

	h1{ font-size: 2.9rem; padding: 0 6.66vw; margin: 12vw 0 5.33vw; }
	h1 small{ font-size: 1.2rem; }


	main.container{ width: 100%; padding: 0 6.66vw; margin: 5.33vw 0 20vw; box-sizing: border-box;}

	.container a.relation-link{width: 90vw;justify-content: flex-start;padding-left: 5vw;}
	.container a.btn{width: 90vw;justify-content: flex-start;padding-left: 5vw;}

	.contents-list{ margin-bottom: 13.33vw; }
	.contents-list dt{ font-size: 1.7rem; margin-bottom: 6.66vw; }
	.contents-list dd{ flex-wrap: wrap; }
	.contents-list dd ul{ width: 100%; }
	.contents-list dd ul + ul{ margin-top: 2.66vw; }
	.contents-list dd ul li{ font-size: 1.5rem; padding: 0 0 0 14.66vw; min-height: 10.66vw; }
	.contents-list dd ul li:before{ width: 10.66vw; height: 10.66vw; border-radius: 10.66vw; font-size: 1.4rem; }
	.contents-list dd ul li + li{ margin-top: 2.66vw; }


	.container h2{ font-size: 1.7rem; margin: 18.33vw 0 5.33vw; }
	.container h3{ font-size: 1.6rem; margin: 12vw 0 5.33vw; }
	.container h4{ font-size: 1.4rem; margin: 8vw 0 4.66vw; }



	.container .side-img,
	.container div.article{ flex-wrap: wrap; margin: 8vw 0; }
	.container div.article .descL,
	.container div.article .descR,
	.container .side-img .content{ width: 100%; order: 2;  }
	.container div.article .imgR,
	.container div.article .imgL,
	.container .side-img .img{ width: 100%; order: 1; margin-bottom: 5.33vw;}
    .container .side-img a.btn{width: 100%;}



	.container ol{ margin: 8vw 0; }
	.container ol li{ font-size: 1.5rem; padding-left: 14.66vw; min-height: 10.66vw; align-items: flex-start; }
	.container ol li:before{ font-size: 1.4rem; width: 10.66vw; height: 10.66vw; border-radius: 10.66vw; top: 0; transform: none; }
	.container ol li + li{ margin-top: 4.66vw; }

	.container ul.dice{ margin: 6vw 0; }



	.container .flow-list{ margin: 10vw 0; }
	.container .flow-list .row + .row{ margin-top: 10vw; }
	.container .flow-list dl{ width: 100%; }
	.container .flow-list dl dt{ font-size: 1.6rem; padding-left: 13.33vw; padding-top: .4em; }
	.container .flow-list dl dt:before{ width: 10.66vw; height: 10.66vw; font-size: 1.4rem; top: 0; }
	.container .flow-list dl dd{ margin-top: 6vw; }
	.container .flow-list .img{ width: 100%; margin-top: 5.33vw; }



	.container table:not(.no-default){ margin: 6vw 0; }
	.container table:not(.no-default) th{ padding: 1em; font-size: 1.5rem; }
	.container table:not(.no-default) td{ padding: 1em; font-size: 1.4rem; }

	.container table.sp-break{ display: block;}

	.container table.sp-break tbody,
	.container table.sp-break tr{ display: block; }
	.container table.sp-break th{ display: block; text-align: center; border-top: none; }
	.container table.sp-break td{ display: block; border-top: none; }
	.container table.sp-break:not(.no-default) tr:nth-child(even){background: #f6f6f6;}
	.container table.sp-break:not(.no-default) tr:first-child{border-radius: 10px 10px 0 0;}
	.container table.sp-break:not(.no-default) tr:first-child *:first-child{border-top-right-radius: 10px;}
	.container table.sp-break:not(.no-default) tr:last-child *:first-child{border-radius: 0;}
	.container table.sp-break:not(.no-default) tr:last-child{border-radius: 0 0 10px 10px;}
	.container table.sp-break:not(.no-default) tr:last-child *:last-child{border-bottom-left-radius: 10px;}





	/*** dr ***/



/*	.container h3.dr-name{ height: 47.33vw; font-size: 3rem; padding-top: 13.33vw; border-bottom: none; }*/
	.container h3.dr-name{ height: 57.33vw; font-size: 3rem; padding-top: 45.33vw; border-bottom: none; text-align: center; padding-right:0!important;margin-bottom: 40px;}

	.container h3.dr-name small{ font-size: 1.2rem; }

/*	.container h3.dr-name img{ width: 55.33vw; }*/
    .container h3.dr-name img {width: 35.33vw; bottom: 30%;right: 30%;}

	.container h3.dr-name + p{ padding-bottom: 10.66vw; margin-bottom: 0; border-bottom: solid 1px #f2f2f2; }



	.container .history-wrap{ margin-top: 13.33vw; }

	.container .history-wrap dl{ width: 100%; }

	.container .history-wrap dl + dl{ margin-top: 10.66vw; }

	.container .history-wrap dl dt{ padding: .2em; margin-bottom: 4.26vw; }
		.type article ul{margin-bottom: 20px; width: 100%;}
	.type article ul li{width: 36vw;height: 36vw;padding: 6vw 0 35px;}
	.type article ul li:nth-child(1){margin-right: 2vw;margin-bottom: 2vw;}
	.type article ul li:nth-child(2){margin-right: 2vw;}
	.type article ul li:nth-child(3){margin-right: 2vw;margin-bottom: 2vw;}
	.type article ul li:nth-child(4){margin-right: 2vw;}
	.type article ul li:nth-child(5){margin-right: 2vw;margin-bottom: 2vw;}
	.type article ul li:nth-child(6){margin-right: 2vw;}
	.type article ul li:nth-child(7){margin-right: 2vw;}
	
	.type article ul li img{width: 25vw; margin-bottom: 1vw;}
	.type article p:last-child{font-size: 3vw;line-height: 1.4;}
	.range table th{vertical-align: middle;}
	.range table tr:first-child th {
    height: auto;}
	.range table th:first-child{width: auto;white-space: nowrap;padding: 20px;
		font-size: 1.4rem;letter-spacing: 0.05em;}
	.range table td  img{width: 100%;}
	.flex-box{flex-wrap: wrap;}
	.point{height: 170vw!important;}
	
/*	qa*/
		.qa .wrap{padding: 10px 0px;border-radius: 0 0 50% 50%/0 0 12vw 12vw;}
    .qa .in{margin-bottom: 3vw;}
	.qa section{padding: 0px auto; width: 100%;}
	.qa h2{margin-bottom: 20px;}
	.qa .q,
	.qa .a{padding-left: 10vw; padding-right: 6vw;font-size: 1.4rem;letter-spacing: 0.04em;}
	.qa .q:after{right: 0;}
	.qa .q:before, .qa .a:before{width: 8vw;height: 8vw;font-size: 1.3rem; top:20px; left: 0;}
	.qa .counseling{margin-top: 70px;}
	
	
/*	reason*/
	.reason section{padding: 0px;}
	.reason .wrap{padding: 0px;}
	.reason h2{margin-bottom: 40px;}
	.reason .box{display: block;width: 85vw;}
	.reason .box .txt{width: 100%!important;margin-bottom: 20px;}
	.reason h3{text-align: center; font-size: 4.8vw; margin-top: 0;}
	.reason .box .photo{width: 100%;}
	.reason .box .photo img{width: 100%;}
	
/*	feature*/
	.feature .in {
    justify-content: center;
}
	.feature .wrap{padding: 150px 5% 100px;border-radius: 0 0 50% 50%/0 0 12vw 12vw;}
	.feature h2{margin-bottom: 25px;}
	.feature .in{margin-bottom: 30px;}
	.feature .in .box{width: 38vw;min-height: auto;justify-content: space-between;margin-bottom: 30px; margin-right: 10px;}
	.feature .in .box .txt{width: 100%;margin-bottom: 0px!important;}
	.feature .in .box h3{font-size: 3vw; width: calc(100% - 6vw);padding: 15px 0;margin-bottom: 0px!important;}
	.feature .in .box h3 + p{font-size: 1.2rem;letter-spacing: 0.05em;font-feature-settings : "palt";margin-bottom: 0px!important;}
	
	.feature .in .box:before{width: 13vw;height: 13vw;padding: 2vw;font-size: 3.2vw;}
	
/*	group*/
    .group{padding: 13vw 0; margin: 15vw auto;}
    .group h2{font-size: 5.5vw;}
	.group h2.mark:before{width: 10vw;height: 12vw;margin: 0 auto 10px;}
	.group h2.mark:after{margin: 20px auto 0;}
    .group .in{padding: 0 6vw;}
    .group .box{width: 100%;}
    .group .box .photo > img{width: 100%;}
	.group h3 {margin: 1.33vw 0 5.33vw;}
    
    .dr .wrap{padding: 12vw 5% 80px;border-radius: 0 0 50% 50%/0 0 12vw 12vw;}
    .dr section{padding: 0;}
    .dr .box:nth-last-child(n + 3){margin-bottom: 8vw;}
    .dr .box a{width: 48vw;height: 37vw;}
    .dr .box a:after{position: absolute;bottom: -3vw;left: 50%;}
    .dr .box a:before{width: 42vw;height: 42vw;}
    .dr .clinic img{width: 6vw;}
    .dr h2{font-size: 5.5vw;}
    .dr h2.mark:before{width: 10vw;height: 12vw;margin: 0 auto 10px;}
    .dr h2.mark:after{margin: 20px auto 0;}
    .dr .clinic h3:after{width: 28.8vw;margin: 8px auto 0;}
    .dr .clinic h3{font-size: 0.4rem;}
    .dr .name{width: 28.8vw;}
    .dr .name p:first-child{font-size: 0.9rem;text-align: center;}
    .dr .name p:last-child{ font-size: 1.2rem;text-align: center;}
    .dr .box .photo{width: 16vw; right: -2vw;bottom: -2vw;}
    .dr .box .photo-sp{ right:-2vw;bottom: 1vw;}
    .dr section > p{padding: 0 5vw; font-size: 3.667vw; text-align: left;}
    
    
/*    counseling-----*/
    .counseling{width: 90vw;}
    .counseling a{display: block;height: auto;font-size: 4.5vw;padding: 20px 4vw;}
    .counseling a:after{display: inline-block;position: static;vertical-align: 2px;margin-left: 5px;}
    .counseling a img{display: none;}
    .counseling-area{padding: 35px 0;}
    .counseling-area:before{height: 12vw; top: -12vw; 
    background: url(../img/index/ballon02.png)center top/100% 12vw;}
    .counseling-area h2{margin-bottom: 30px;font-size: 6.5vw;}
    .counseling-area h2 + p{font-size: 1.4rem;}
    .counseling-area .counseling{text-align: left;}
    
    .fee .wrap{padding: 12vw 5% 50px;border-radius: 0 0 50% 50%/0 0 12vw 12vw;}
    .fee section{padding-left: 5vw;padding-right: 5vw;}
    .fee h2{margin-bottom: 5vw;padding-bottom: 5vw; margin-top: 2vw;}
    .fee h2 + p{font-size: 1.4rem;}
    .fee .in{padding: 5vw;}

    .fee .price{display: block;}
    .fee .bnr{margin-top: 20px;}
    .fee .bnr img[src*="sp"]{display: block;}
    .fee .bnr img:not([src*="sp"]){display: none;}
    .fee .bnr + p{text-align: justify; font-size: 1.4rem;margin-bottom: 30px;}
    .fee .bnr + p br{display: none;}

    .fee .price .box{width: 100%;padding: 5vw;}
    .fee .price .box:first-child{margin-bottom: 20px;}
    .fee .price h4 + p{display: table;margin: 0 auto 15px;font-size: 12vw;}
    .fee .price h4 + p sup{top: 1.5vw;right: -2vw;}
	

    /*diff*/
    .diff .wrap {padding-left: 0rem; padding-right: 0rem;}
    .diff div{width: calc(100% + 5vw); overflow: scroll;}
    
    /*    reason-list*/
    .reason-list {padding-top: 5rem;}
    .reason-list li {margin-right: 0rem; width: 100%;}
    .reason-list li:nth-of-type(n+4) {margin-top: 3rem;}
    
/*couseling*/
    .counseling a:before{width: 40vw;height: 40vw;background-repeat: no-repeat;}

/*qa*/
    .qa input:checked ~ .a {
    max-height: 350vw;
}
    /*clinic-table*/
    .container table.clinic-table tr th {
    width: 30%!important;
}
    
/*group_table*/

    
.container table.group_table tr th:first-child {
    font-size: 3vw;
    width: 20%;
	border-right: 2px dotted #fff;

}	
.container table.group_table tr td:first-child {
    font-size: 3vw;
    width: 20%;
}
    .container table.group_table tr th {
    padding-left: 0;
	padding-right: 0;
}
.container table.group_table tr td {
    padding-right: 0;
	padding-left: 0;
	
}
	
.container table.group_table tr td {
    border-right: 2px dotted #fff;
}
.container .font-sp tbody tr th,
form input[type="text"],
form input[type="email"],
form input[type="tel"],textarea{font-size: 4.2vw;}

	.input-sp{text-align: center;}
	.no-radio label {
	line-height: 10vw;
}
    
    .news-btn{
        text-align: center;
        padding-left: 0px;
    }
    .group .box a.news-btn:after {
    right:25px;
    }
    
    .gray-box h2{
    margin-top: 20px;
}
    .age{width: 100%;text-align: center;}
    .age input{width: 20px;font-size: 16px;}
}