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

@media screen and (min-width:1000px){
	label{display: none;}
	input[type="checkbox"]{display: none;}
}

@media screen and (max-width:999px){
	.logo img {width: 310px!important;}
	
	
	.prevention-left {width: 48%!important;}
	.btn-long a {width: 100%; font-size: 15px !important;}
	.btn-long .arrow {left: 53px;}
	.btn-long a:after {width: 100%; height: 100%; left: 6px; top: 6px;}
	.btn-long_b a {width: 100%;}
	.btn-long_b .arrow {left: 53px;}
	.btn-long_b a:after {width: 100%; height: 100%; left: 6px; top: 6px;}
	.box_01 p:after {width: 81%; height: 100%; top: 10px; left: 38px;}
	.yellow .tit {margin: -47px 10px 31px 0; text-align: left;}
	
	#footer p.foot_logo img{width: 100%;}
	#footer {width: 100%; box-sizing: border-box;}
	#footer .footer_in{
		width: 100%;
		text-align: center;}
	#footer .footer_in ul{text-align: left;margin: 0 10px;}
	#footer .footer_in table{margin:20px auto;}
	
	#footer .footer_in_r{
		margin-top: 5px;
		width: 100%;
	}
	#footer .content {
		box-sizing: border-box;
		width: 100%;
	}
	.fn-ce {
		position: relative;
		width: 100%;
		margin-left: 120px;
	}
	.phone-namber {
        font-size: 32px;
		text-align: center;
	}
	
	.add {text-align: center;}
	
	.gmap {width: 100%;}
	
	.access {width: 100%; padding: 0 20px; box-sizing: border-box;}
	.access .tit {font-size: 27px;}
	.access-box{width: 100%; float: none; padding: 20px 0;}
	.address {font-size: 14px;}
	table.hour {width: 100%; margin: 0 0 30px;}
	
	.blog-contents {width: 100%;}
	.txt_fl {
    float: none;
    width: auto;
	clear:both;
}


.sub .info {
	display: block;
	width: 341px;
	height: 84px;
	position: absolute;
	right: 0;
	background-color: #e8edf0;
	text-align: right;
	top: 0;
	right: 10%;
	
}

	
}



@media screen and (max-width:768px){
/*ーーーーtakaneーーーー*/
.sub .info {
	display:none;
}
/*ーーーーtakaneーーーー*/

.concept .box_left{
	width:100%;
	float:none;
	clear:both;
}
/*  concept-------------------------------------*/
.concept_wrap{
	padding:0;
	text-align:center;
	background:url(../img/sub/concept/007.png) no-repeat 50% 50%;
	background-size:100%;
}
.concept_wrap p{
	line-height:30px;
}
.point_text{
	color:#FE7900;
	font-size:18px;
	letter-spacing:0px;
	padding:0 0 10px 0;
	margin:0 0 25px 0  !important;
	border-bottom:#FE7900 1px solid;
	display:inline-block;
}
.concept_box{
	padding:20px 0 20px 0;
	margin-bottom:20px;
	box-sizing:border-box;
	border-bottom:#FE7900 2px dashed;
}
.concept_box2{
	padding:20px 0 0 0;
}

#whitening_cp p{
	font-size:12px;
}


.invisalign_sp {
	display:block;	
	}


h3.center_h3 {
    margin-top: 60px!important;
    margin-left: 30px!important;
    margin-right: 30px!important;
}


}


@media screen and (max-width:599px){
	/* 文字サイズ */
	h1{font-size: 1.8em;}
	h4{font-size: 1.1em;}
	
	img {width: 100%;}
	img.width_auto{width:auto !important;}
	.logo.sp
	{
		padding: 5px 0 3px 10px;
	}
	#header {box-sizing: border-box;}
	#header .logo img{
		width: 65vw;}
	#header .info{display: none;}
	.bg{background-size: 95%;
	background-position: top 140px center;}
	

	
	.prevention-left {width: 100%!important;}
	.prevention-left {padding-top: 20px;}
	.prevention-left .btn a{margin: 0 auto 20px;}
	.prevention-left p {padding: 32px 20px 0!important;}
	.prevention-left p.tit {margin: 0 20px; padding:10px 9px!important;}
	.prevention-left .tit:after {width: 102%;}
	.prevention-right {
		width: 100%!important;
		box-sizing: border-box;
		display: block;
		float: none!important;
		padding: 30px 20px 20px!important;
	    clear: both;
	}
	.prevention-right p img {width: 98%; }
	.prevention-right p:after {width: 98%!important; height: 100%!important; left: 12px; top: 16px;}
	.yellow {
		clear: both;
		display: block;
		width: 100%;
		height: auto;
		margin-top: 60px;
		margin: 60px 0 0 0 !important;
		padding-bottom: 0;
	}
	.yellow .tit {margin: -22px auto 10px; font-size: 29px;}
	
	.doctor {width: 100%; box-sizing: border-box;}
	.doctor {padding: 20px 20px;}
	.doctor .tit {font-size: 28px;}
	.dr-left img {width: 90%;}
	.dr-left p {padding: 20px 0 0}
	.dr-left p:after {width: 91%; height: 92%; left: 12px; top: 36px;}
	.dr-right {width: 100%;}
	.doctor .btn a {margin-bottom: 25px;}
	.dr_box .btn a {margin: 0 auto 7px;}
	.treatment {padding: 0 20px;}
	.treatment p.tit {font-size: 28px; padding-bottom: 0;} 
	.treatment p {padding-top: 20px;}
	.treatment .tit:after {bottom: -2px;}
	.btn-long a {width: 100%; padding:13px 0 15px 0; padding-left: 19px; height: 55px;}
	.btn-area a {font-size: 20px;}
	.btn-long .arrow{display: none;}
	.btn-long a:after {width: 100%; height: 100%;}
	.btn-short a {width: 48%; margin: 0 0 20px;}
	.btn-short a:after {width: 100%; height: 100%;}
	.btn-short a {font-size: 15px; padding: 13px 0 15px 18px; height: 50px;}
	.btn-short .arrow{display: none;}
	.treatment ul{display: inline;}
	.treatment li:nth-child(even) a{ margin-left:10px;}
	.btn-long_b a {width: 100%; padding-top: 13px; padding-left: 19px; margin-bottom: 15px; font-size: 15px; height: 55px;}
	.btn-long_b .arrow{display: none;}
	.btn-long_b a:after {width: 100%; height: 100%;}

	.blog-contents {width: 100%;}
	.blog-contents .tit {font-size: 27px; margin: -21px 20px;}
	
	.access {width: 100%; padding: 0 20px; box-sizing: border-box;}
	.access .tit {font-size: 27px;}
	.access-box{width: 100%; float: none; padding: 20px 0;}
	.address {font-size: 14px;}
	table.hour {width: 100%; margin: 0 0 30px;}
	
	.gmap {height: auto;}
	
	.dr_box { width: 100%; float: none; margin: 0;} 
	p.pb0 {padding-bottom: 0;}
	p.pb15{padding-bottom: 15px;}
	#footer .content{padding: 0;}
	
	
	.foot_nav li.ml_12{
	margin-left:12px;
}

	
	

	
	
	.dr_in{width: 100%;}
	.img_L,.img_R,.txt_fl{float:none!important;margin: auto 0;}
	.img_L,.img_R{text-align: center;}
	.img_R{margin-bottom:15px;
	width:100%;}
	.txt_fl{width: 100%;}
	.txt_fl p.name,.txt_fl p.name.f_r{text-align: center;}
	
	.blog.content{width: 90%;}
	.blog_in{padding:20px;}
	.blog_in .tit{width: 80%;
		left: 10%;right: auto;}
	
	.blog_in .entry{
		display: block;
		width: auto;height: auto;
		padding: 15px 0;
		margin:0;
		border-bottom: 1px #ccc dotted;
	}
	.blog_in .entry:last-child{border: none;}
	.blog_in .entry:after{border: none;}
	
	.clinic_in div{width: 40%;margin: 0 10px 20px;}
	.clinic_in div .img{width: 100%;height: 100%;}
	.clinic_in div .img:after{
		top:2%;
		left: 2%;
		width: 94%;
		height: 90%;
		border: 1px #fff solid;}
	.clinic_in div:last-child{display: none;}
	.clinic_in div a:hover img{width: 100%;height: 100%;}
	.access #map,.access .info{float: none;width: 95%; margin: auto;}
	.access .info{text-align: center;padding-top: 40px;}
	.access .info table.blue{width: 100%;}
	.access .info table.blue th,.access .info table.blue td{padding: 5px;text-align: center;}
	.access .info p{text-indent: 0;}

	#footer p.foot_logo img{width: 100%;}
	#footer {width: 100%; box-sizing: border-box;}
	#footer .footer_in ul{text-align: left;margin: 0 10px;}
	#footer .footer_in table{margin:20px auto;}
	#footer .footer_in_r{
		margin-top: 5px;
		width: 100%;
	}
	#footer .content {
		box-sizing: border-box;
		width: 100%;
	}
	
	.phone-namber {
        font-size: 32px;
		text-align: center;
	}
	
	.add {text-align: center;}
	
	.gmap {width: 100%;}
	
	.fn-ce {
		position: relative;
		width: 100%;
		margin-left: 16px;
	}
	
	/* sub */
	
	.temp .content{width: 95%; padding-top: 15px;}

	.treatment_s .btn-short a {font-size: 15px; padding-left: 19px;}
    .treatment_s .btn-short .arrow{top: -14px; left: 92px;}
	.treatment_s ul{display: inline;}
	.treatment_s li:nth-child(even) a{ margin-left:10px;}
    .treatment_s .btn-area a {font-size: 19px;}
    .treatment_s .btn-area_b a {font-size: 19px;}
	
	/* treatment02 */
	.treatment02 .btn_ortho,.treatment02 .btn_root{display:block;}
	.treatment02 ul{display: inline;}
	.treatment02 ul li a{
	background: linear-gradient(-60deg,#3ca1ff 50%,#63b4ff 50%)!important;
	box-shadow: 0 3px 0 #1c85e7!important;}
	.treatment02 ul.first li:nth-child(even) a,
	.treatment02 ul.second li:nth-child(even) a{
	background: linear-gradient(-60deg,#ff6e8c 50%,#ff8ba3 50%)!important;
	box-shadow: 0 3px 0 #e02148!important;}
	.treatment02 ul li a:hover{box-shadow: none!important;}
	
	/*  btn02-------------------------------------*/
.ortho_btn{
	margin:auto;
}
p.btn02{text-align: center;
	margin:30px;}

/*  esthetic-------------------------------------*/
#crown{
	width: 100%;
}
#crown img{
	width:100%;
}

	
table.case{
	width: 100%;
}

table.mekkin {display: none;}
table.mekkin-sp{
	border-collapse: collapse;
	border: 1px solid #efefef;
	margin: 0 0 30px;
	width: 100%;
	display: block;
	box-sizing: border-box;
}
table.mekkin-sp,
table.mekkin-sp th,
table.mekkin-sp td{
	border: 1px solid #ddd;
	box-sizing: border-box !important;
}
table.mekkin-sp tr 
{
	width:100%;
}

table.mekkin-sp tr td{
	vertical-align: middle;
	text-align: center;
	box-sizing: border-box !important;
}
table.mekkin-sp tr td img{
}
table.mekkin-sp th{
	line-height: 1.6;
	font-size: 16px;
	width: 50%;
	font-weight: bold;
	background: #e8eef0;
	color: #0b4064;
	text-align: center;
	padding: 10px;
	vertical-align: middle;
	box-sizing: border-box !important;
}
table.mekkin-sp td{
	padding: 10px 0;
}
table.mekkin-sp td img
{
	width: 90%;
}

table.rct {display: none;}
table.rct-sp{
	border-collapse: collapse;
	border: 1px solid #efefef;
	margin: 0 0 30px;
	width: 100%;
	display: table;
	box-sizing: border-box;
}
table.rct-sp,
table.rct-sp th,
table.rct-sp td{
	border: 1px solid #ddd;
}

table.rct-sp tr td{
	vertical-align: middle;
	text-align: center;
}

table.rct-sp th{
	line-height: 1.6;
	font-size: 16px;
	display: block;
	width: auto;
	font-weight: bold;
	background: #e8eef0;
	color: #0b4064;
	text-align: center;
	padding: 10px;
	vertical-align: middle;
}
table.rct-sp td{
	padding: 10px 0;
	display: block;
	width: 100%;
}
	
.sub_main .content table.price{
	width:100%!important;
	font-size:13px;
	margin-bottom:20px;
}
	






.temp p{
	line-height:150%;
	font-size:15px;}
.temp img.mb40{
	margin-bottom:20px;
}
/*  taka20180416--------------------------------------------------------------------------*/
.specialty .width_180{
	width:180px !important;
	margin:0 auto;
}
.concept .box_left h3.logo{
	margin-top:15px !important;
	line-height:130%;
}
.specialty .box_left h4{
	margin-top:15px;
}
.specialty h3.logo{
	line-height:140% !important;
}

.entry-content{
	margin:0 !important;}

	
/*  院長ブログ20180508-------------------------------------*/	
.dr-blog .tit {
    font-size: 28px;
}	
.dr-blog_in:before {
    display: none;
}
.dr-blog_in_02:before {
    display: none;
}
.dr-blog_in {
    width: auto;
	margin-left: 0!important;
}
.dr-blog_in_02 {
    width: auto;
	margin-bottom: 10px!important;
}	
	
	
	
}








@media screen and (max-width:517px){
		/* treatment02 */
	.treatment02 ul.first li:nth-child(4) a,
	.treatment02 ul.second li:nth-child(4) a{
	background: linear-gradient(-60deg,#3ca1ff 50%,#63b4ff 50%)!important;
	box-shadow: 0 3px 0 #1c85e7!important;}
	
	.treatment02 ul li:nth-child(3) a{
	background: linear-gradient(-60deg,#ff6e8c 50%,#ff8ba3 50%)!important;
	box-shadow: 0 3px 0 #e02148 !important;}
	.treatment02 ul.first li a:hover,
	.treatment02 ul.second li a:hover{box-shadow: none!important;}
	
	.ortho_btn{
	margin:auto;
}
p.btn02{text-align: center;
	margin:30px;}
    
	.nav_r {width: 100%;}
	.foot_nav {width: 33%; padding: 0}
	.foot_nav {font-size: 13px; margin-top: 14px;}
	.foot_nav_in a {font-size: 12px;}
	

	

/*  esthetic-------------------------------------*/
#crown{
	width: 100%;
}
#crown img{
	width:100%;
}

/*  doctor-------------------------------------*/	
.fs-17 	{
	font-size: 17px;	
}

table.normal tr td {
    padding: 20px 20px;
}
.cp_table *, .cp_table *:before, .cp_table *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_table thead {
		display: none;
}
.cp_table tbody th {
		display: block;
}
.cp_table tbody td {
		display: block;
		padding: 10px 5px;
}
.cp_table tbody td::before {
		font-weight: bold;
		float: left;/*上のth要素が長い場合こちらを解除すると1段落下り見やすくなります*/
		padding: 0px 10px 0 0;
		content: attr(label);
}
.cp_table tbody td p {
		padding: 0.5em 0 0 1em;
    margin: 0;}
	
.treatment_s .btn-short .arrow{top: -14px; left: 15%;}
	
.entry-wrapper {
    width: auto;
    float: none;
    margin: 0 15px 30px;
}
.sp_logo img
{
	margin: 20px auto 0 !important;
	display: block !important;
	width: 320px;
}
}

.sub_main .fs21 p {font-size:18px;}





@media screen and (max-width:400px){
	#header .logo{
		float: none;
		text-align: left !important;
		padding: 0 0 0 20px;
	    margin-top: 0;}
	.logo img {width: 70%!important; }
	
	.sub_main {padding:0;}
    .treatment_s .btn-short .arrow{top: -14px; left: 90%;}
}




@media screen and (max-width:343px){
	.concept .tit p{font-size: 7vw;}
	.treatment .btn_ortho a, .treatment .btn_root a{width: 80%;}
	.treatment li a{width:35vw;}
	#footer .footer_in ul{text-align: center;}
	#footer .footer_in ul .foot_nav_in{text-align: left;}
	#footer .footer_in table.blue th,
	#footer .footer_in table.blue td{padding: 5px;vertical-align: middle;}
	
}







/*  追加分===============================================================================================*/
@media screen and (max-width:768px){
	
/*  共通-------------------------------------*/

	
.pc{display: none !important;}
.sp{display: block;}

.content{
	width:100%;
	margin:0 auto;
}

.top_main{margin-bottom:0;}

#top_page img{width:80%;}


h2{
	font-size: 24px;
	width:90%;
	box-sizing:border-box;
	margin:0 auto;
	padding: 5px 30px 5px 50px;
	z-index:0;
}

h2:before {
	position: absolute;
	content: '';
	left: -2px;
	top: -2px;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 50px white;
	border-bottom: solid 79px transparent;
	z-index: -1;
}

h2:after {
	position: absolute;
	content: '';
	right: -3px;
	top: -5px;
	width: 0;
	height: 0;
	border: none;
	border-left: solid 50px transparent;
	border-bottom: solid 79px white;
	z-index: -1;
}




/*  #pagetop-------------------------------------*/
#pagetop{
	padding:0;
	position:fixed;
	bottom:80px;
	right:10px;
	z-index:9999;
}
#pagetop a{
	width:50px;
	height:50px;
	padding:5px 10px;
	font-size:10px;
	box-sizing:border-box;
}



/*  btn-------------------------------------*/

.yoyaku a,
.access a,
.btn_01 a,
.btn_02 a{font-size:14px;}

.yoyaku,
.access{
	width:49%;
}

.yoyaku a,
.access a{
	padding:10px;
}


.access{padding:0;}
.access a{
	margin:20px 0;
}


.btn_01{
	width:100%;
	margin:20px auto 0 auto;
}

.btn_01 a{
	padding:10px;
}

.btn_02{
	width:100%;
}


/*  table-------------------------------------*/

table.table_time{
	margin:0 auto;
	font-size:14px;
}
table.table_time th,
table.table_time td{
	padding:0 5px;
}
table.table_time td:last-child{
	padding:0;
}



/*  MV-------------------------------------*/

#top_page .mv{
	height:auto;
	overflow:hidden;
	position:relative;
}

.header_logo{
	width:50%;
	position:absolute;
	top:20px;
	left:20px;
	z-index:8888;
}




/* アコーディオン */
#gnav{
	border: none;
	position:fixed;
	top:0;
	right: 0;
	z-index:9999;
}
#gnav li{
	width:50%;
	margin:10px auto;
	padding:10px 0;
}
#gnav .btn_01{
	width:50%;
	margin:0 auto;
}

#gnav li:nth-child(4){width:50%;}

#gnav li a{
	width:100%;
	color: #007737;
	margin:0 auto;
	padding:0 0 0 10px;
	text-align:left;
	box-sizing:border-box;
}
#gnav li span{
	color:#5C36B5;
}
label{
	position: absolute;
	display: inline-block;
	top:0;
	right: 0;
	border-left: 1px #5F3E00 solid;
	border-bottom: 1px #5F3E00 solid;
	font-size: 1.4em;
	padding: 10px;
	z-index:600;
	background: #fff;
	line-height:110%;
}
nav {
	position: fixed;
	top: 0;
	right: -340px;
	width: 250px;
	height: 100%;
	transition: left .5s, right .5s;
	z-index:500;
	background:rgba(255,255,255,0.9);
}
input[type="checkbox"]#open{display: none;}
input[type="checkbox"]#open:checked ~ nav {right: 0;}
input[type="checkbox"]#open ~ label:after{
	font-family: "Font Awesome 5 free";
	font-weight:bold;
	content: "\f0c9";
	color:#5F3E00 !important;
	margin-left:15px;
}
input[type="checkbox"]#open:checked ~ label:after{
	font-family: "Font Awesome 5 free";
	font-weight:bold;
	content: "\f00d";
}

#gnav li{display: block;}

#gnav span.english{
	color:#5F3E00 !important;}


/* アコーディオンここまで */


#top_page .mv_bg{
	display:none;
}

#top_page .text_area{
	display:none;
}

#top_page .text_area_sp{
	width:98%;
	height:auto;
	overflow:hidden;
	margin:0 auto 30px auto;
	padding-top:60%;
	text-align:center;
	box-sizing:border-box;
	z-index:99999;
}
#top_page .text_area_sp h1{
	font-size:22px;
	font-weight:600;
	letter-spacing:3px;
	display:block;
	margin:15px 0;
	line-height:130%;
}

#top_page .text_area_sp h1.header_color01{
	font-family: "游ゴシック体", YuGothic;
	font-weight:100 !important;
	font-size:22px;
	color:#FFF;
	background:#215E00;
	border:1px solid #215E00;
	margin:5px auto;
	padding:1px 5px;
	letter-spacing:1px;
	display:inline-block;
}

#top_page .text_area_sp .tel{
	font-size:30px;
	margin:10px 0 15px 0;
}









/*  policy-------------------------------------*/
#policy{
	height:100%;
	overflow:hidden;
	padding:30px 0;
}

#policy img{
	width:100%;
}

#policy p.title{
	font-size:24px;
}

#policy .policy_in{
	width:100%;
	margin:0 auto;
	padding:30px 10px 0 10px;
}





/*  dr-------------------------------------*/
#dr,
#dr img,
#dr .greeting,
#dr .greeting h3,
#dr .greeting span.small,
#dr .greeting p{display:none !important;}

#dr_sp{
	width:100%;
	height:auto;
	overflow:hidden;
	display:block !important;
}

#dr_sp img{
}

#dr_sp .greeting{
	width:90%;
	margin:0 auto;
	padding:20px 0 0;
	
	height:auto;
	overflow:hidden;
	background:#FFF;
	box-sizing:border-box;
	z-index:30;
}
#dr_sp .greeting h3{
	font-size:18px;
	line-height:150%;
	font-weight:normal;
	margin-bottom:20px;
}

#dr_sp .greeting h4{
	margin:15px 0 10px 0;
}





/*  point-------------------------------------*/

#point{padding:30px 0;}

#point ul li.box_01{
	width:48%;
	margin:30px 10px 10px 0;
	padding:25px 15px 10px 15px;
	height:auto;
	float:left;
	background:#f5f5f7;
	position:relative;
	box-sizing:border-box;
}

#point ul li.box_01 p.point_title{
	width:100%;
	font-size:16px;	
	line-height:130%;
}


#point ul li:nth-child(even){
	margin-right:0;
}





/*  トップtreatment-------------------------------------*/
#treatment{
	background:url(../img/top/treatment_bg.jpg) no-repeat;
	background-size:cover;
	text-align:center;
	padding:30px 0;
}


#treatment .text_area_L{
	width:92%;
	height:auto;
	float:none;
	margin:20px auto;
	padding:25px 25px 40px;
}

#treatment .btn_area{
	width:100%;
	margin:0 auto;
	padding-top:0;
	float:none;
}
/*#treatment .btn_area ul a{
	margin:5px;
	font-size:12px;
	font-size:10px;
}


#treatment .btn_area ul li{
	width:65px;
	height:65px;
	padding:10px 0;
}*/

#treatment .btn_area ul{
	padding-top:8px;}


#treatment .btn_area ul a{
	width:47%;
	float:left;
	margin:10px 5px 0 5px;
	padding:0;
	box-sizing:border-box;
	line-height:130%;
	font-size:14px;
	background:#5F3E00;
}
#treatment .btn_area ul li{
	width:250px;
	height:60px;
	display:table-cell;
	vertical-align:middle;
	text-align:center;
	box-sizing:border-box;
	position:relative;
}








/*  clinic-------------------------------------*/

#clinic h2{
	margin-bottom:20px;
}




/*  サブページtreatment-------------------------------------*/
#sub_page .treatment_sub{
	background-size:cover;
	text-align:center;
	padding:30px 0 0;
}


#sub_page .treatment_sub .text_area_L{
	width:92%;
	height:auto;
	float:none;
	margin:20px auto;
	padding:25px 25px 40px;
}

#sub_page .treatment_sub .btn_area{
	width:100%;
	margin:0 auto;
	padding:0 10px;
	float:none;
}
#sub_page .treatment_sub .btn_area ul a{
	width:47%;
	height:65px;
	margin:5px;
	font-size:14px;
}

#sub_page .treatment_sub .btn_area ul a li{
	width:190px;
	height:65px;
	padding:10px 0;
}







/*  dental_news-------------------------------------*/
#dental_news .blog_box{
	width:100%;
	float:none;
	margin:0 auto;
}

#dental_news .btn_02{
	margin-bottom:40px;}



/*  group-------------------------------------*/

#group{
	position:relative;
	padding:30px 0;
}

#group .logo{
	margin-top:0;
	display:block;
	float:none;
	text-align:center;
}

#group .text_box{
	width:100%;
	float:none;
	text-align:center;
}	

#group ul{
	width:100%;
	margin:0 auto;
}

#group .group_box01{
	width:50%;
	height:520px;
	margin-bottom:15px;
	overflow:inherit;
	position:relative;
	float:left;
}







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

footer{
	margin-bottom:0;
}
#footer{
	padding-bottom:70px;}

#footer ul.foot_nav{
width:100%;
height:auto;
overflow:hidden;
margin:0 auto;
}

#footer ul.foot_nav li.top_menu{
width:100%;
float:none;
display:block;
padding:8px 0;
text-align:center;
border-bottom:1px solid #CCC;
box-sizing:border-box;
}

#footer ul.foot_nav li{
width:50%;
float:left;
margin:0;
padding:8px 0;
text-align:center;
border-bottom:1px solid #CCC;
box-sizing:border-box;
}


#footer ul.foot_nav li:nth-child(even){
border-right:1px solid #CCC;
}


#footer ul.foot_nav li:before{
display:none;
}
#footer ul.foot_nav li a{
padding:5px;
transition:0.4s;
text-decoration:none;
}
#footer ul.foot_nav li a:hover{
color:#CFDC0D;
border-bottom:none;
padding:5px;
text-decoration:none;
}

#footer .copy {
	margin:15px auto;
	font-size:10px;
}

#footer .copy img{
	width:15%;
}


footer .sp_footer_link
{
    background:#5F3E00;
	display: block;
	width: 100%;
	position: fixed;
	bottom: 0px;
	height: auto;
	z-index: 9999;
	padding: 0 !important;
	box-sizing:border-box;
	border-top: 1px solid #fff;
}
footer .sp_footer_link ul{
	padding: 0 !important;
	margin:0 !important;
}
footer .sp_footer_link ul li {
	float: left;
	width: 33% !important;
	display:inline-block !important;
	padding:10px;
	margin:0;
	text-align:center;
	list-style: none;
	box-sizing:border-box;
	line-height:50%;
}

footer .sp_footer_link ul li a {
	color:#FFF;
	display: block;
}
footer .sp_footer_link ul li a span{
	font-size:10px;
	color:#FFF;
}

footer .sp_footer_link ul li:first-child a
footer .sp_footer_link ul li:last-child(2) a{
	border: none;
}
footer .sp_footer_link ul li:nth-child(2){
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
}
footer .sp_footer_link ul li a i {
	width: auto;
	color:#FFF;
	display:block;
}
	#footer .footer_in{
		width: 100%;
		text-align: center;
		padding:20px ;}



/*  sub===============================================================================================*/
#sub_page .mv{
	height:250px;
}

#sub_page .mv_bg{
	height:250px;
}

#sub_page .mvtext_area{
	width:80%;
	height:200px;
}


#sub_page .mvtext_area h1.sub_page{
	margin-top:40%;
	line-height:120%;
	font-size:26px;
}
.mvtext_area h1.blog_page{
	margin-top:25%;
	line-height:120%;
	font-size:26px;
}


/*  sub_main-------------------------------------*/
#sub_main{
	margin:20px 0;
}

#sub_main .content{
	padding:0 10px;
}

#sub_main section{
	margin-top:50px;
}



#sub_main .content h2{
	font-size:24px;
	margin-top:50px;
	margin-bottom:15px;
}
#sub_main .content h3{
	font-size:20px;
	line-height: 140%;
}

#sub_main .content h4{
	font-size:18px;
	margin-bottom:10px;
	margin-top:20px;
	line-height: 140%;
}


#sub_main .content h5{
	margin-top:30px;
}

#sub_main .content h6{
	margin-bottom:5px;
	margin-top:20px;
}



#sub_main table.table_01,
#sub_main table.table_02{
	width:100%;
}
#sub_main table.table_02 td,
#sub_main table.table_02 th{
	width:100%;
	display:block;
	box-sizing:border-box;
}




/*  pankuzu-------------------------------------*/

#sub_page .pankuzu{
	width:100%;
	margin:0 !important;
	padding-top:15px;
	padding-left:10px;
	padding-bottom:30px;
	box-sizing:border-box;
}


/*  サブページ page_list-------------------------------------*/

#sub_main .page_list ul{
	margin:0 auto 15px auto;
}


#checkbox .center {
	width: 80%;
}	
#checkbox .box500{
	float: none;
	margin: 20px 0 0;
	width: 100%;
}
#checkbox .box440{
	float: none;
	margin: 20px 0 0;
	width: 100%;
}


/*  のんちゃん-------------------------------------*/
img.arrow {width: 20%;}
td.whitening {
   font-size: 1em;
}
tr.whitening {
   width: 100%;
   float: none;
   padding-left: 0;
}
tr.whitening th, tr.whitening td {
   display: block;
}


/*  はるさん-------------------------------------*/

.box300,.box700{
width:100%;
padding:0;
float:none;
}	
#sub_main table.table_submain{
width:100%;
}
#sub_main table.table_submain th,#sub_main table.price td,#sub_main table.price th{
width:100%;
display:block;
padding:12px;
font-size:14px;
line-height:27px;
}
#sub_main table.table_submain td{
width:100%;
display:block;
padding:12px;
text-align:center;
}
#sub_main table.table_submain td img{
width:70% ;
}
#sub_main img.img_small{
width:80% !important;
margin:0 auto;
}
#sub_main #qa h4{
font-size:16px;
letter-spacing:0.4px;
line-height:29px;
margin:30px 0 10px 0;
}
#sub_main .content #qa h5{
font-size:15px;
margin:20px 0 10px 0;
line-height:27px;
}
#sub_main table.price td{
text-align:center;
}
img{
height:auto !important;
}

#clinic_tour img{
	width:100%;
	box-sizing:border-box;
}
#clinic_tour img:first-child{
	margin-bottom:20px;
	margin-right:0;
}


#sub_main table.table_01 th{
	font-size:14px;
}
.consultation{
	width: 100%;
	box-sizing:border-box;
	margin:0;
}

.consultation th, .consultation td{
	width: 100%;
	display:block;
	box-sizing:border-box;
	
}
.consultation tr:first-of-type > th{
	border:none;
}

#sub_main .submitBtn{
	width:100%;
}

			.timeline p{margin-bottom:0 !important;
				margin-top:10px;}
			.timeline p.timelineTxt{
				margin:0;
				padding:0;}
				.timeline h5{margin-top:10px !important;}
			  	.timeline-content {
					width:100%;
					line-height:120%;
					border-left:none;
					padding:0;}
			.timeline > li {margin-bottom: 10px;}
			#sub_main .content h2 {
				font-size:20px !important;
				padding-left:0;
			}
			  	.timeline-content:before {
					background:none;}
				.timeline-date {
					width:100%;
					text-align:left;
				}
				
#header ul li{
	transform: translateY(0);
}

ul.link_btn02 li{
	width: 98%;
}
ul.link_btn02 li a{
	font-size:15px;
}
    
    #top_page .banner_wrap img{ width:calc(80% - 40px); margin-top: 25px;}
}



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

/*  treatment-------------------------------------*/
#treatment .btn_area ul a{
	width:46%;
}


}


@media screen and (max-width:320px){
	
#sub_main .content h2{font-size:24px;}	
/*  point-------------------------------------*/
	
#point ul li.box_01{
	padding:25px 5px 10px 5px;
}
#point ul li.box_01 p.point_title{
	font-size:14px;
}

/*  policy-------------------------------------*/

#policy p.title{
	font-size:20px;
}


#sub_page .treatment_sub .btn_area ul a{
	width:46%;
}

#footer .footer_tel {
    font-size: 30px;
}
}
/**2018/12/20**/

@media screen and (max-width: 640px){
#mhlw-risk-fixed .mhlw-risk-fixed-contents {
    z-index: 9999;
    line-height: 1.6;
    margin: 19%;
    width: 81%;
    padding: 4%;
    overflow: hidden;
    display: inline-block;
    box-sizing: border-box;
	left: -17%;
}

#mhlw-risk-fixed .mhlw-risk-fixed-head {
    padding-bottom: 20%;
}
	
#mhlw-risk-fixed .mhlw-risk-fixed-contents .mhlw-risk-fixed-close {
    right: 0;
    top: 0;
}
	
#mhlw-risk-fixed .mhlw-risk-fixed-contents p {
    width: 90%;
    margin: 0;
}
	
#mhlw-risk-fixed-display {
    right: unset;
    left: 5px;
	bottom: 1%;
}
    
     #whitening_can_menu{
        width: 100%;
}    
    #whitening_can_menu img{
        text-align: center;
        display: block;
        margin: 20px auto 0 auto;
        width: 80%;
    }
    #whitening_can_menu a{
    transition: 0.4s;
}
    #whitening_can_menu a:hover{
    opacity: 0.7;
    transition: 0.4s;
}

	
}
    }

@media screen and (max-width: 768px){
.content001 {
    width: 100%;
    margin: 0 auto;
    padding: 0px 10px;
}
    
     ul.dot{
		width: 100%;
		margin: 10vw auto;
    }
		 
    ul.dot li{
			font-size: 3.2vw;
			text-indent: 0em;
		}
    

        }


@media screen and (max-width: 768px){
    
    .h4_area-999{
	
	margin: 0px 0px 30px 0px;}
        
    
    
    
.monsin-area{width: 100%;display: block;margin: 0px auto;position: relative;}
    
    .monsin-area-sub{width: 100%;display: block;margin: 0px auto;position: relative;}

.monsin001{
	width: 100%;
	float:left;
}

.monsin001 a{
	width:100%;
	margin:20px 10px 0 0;
	padding:15px;
	text-align:center;
	vertical-align:middle;
	display:inline-block;
	box-sizing:border-box;
    position: relative;
}


.monsin-area .monsin001:after{
	content:"";
	border:5px solid #FFF;
	position:absolute;
	top: 60px;
	right: 5px;
	border-color:transparent #FFF #FFF transparent;
	z-index: 500;
}


.monsin-area .monsin002:after{
	content:"";
	border:5px solid #FFF;
	position: absolute;
	top: 135px;
	right:5px;
	border-color:transparent #FFF #FFF transparent;
}
    
    .monsin-area-sub .monsin001:after{
	content:"";
	border:5px solid #FFF;
	position:absolute;
	top: 60px;
	right: 5px;
	border-color:transparent #FFF #FFF transparent;
	z-index: 500;
}


.monsin-area-sub .monsin002:after{
	content:"";
	border:5px solid #FFF;
	position: absolute;
	top: 155px;
	right:5px;
	border-color:transparent #FFF #FFF transparent;
}




.monsin002{
	width: 100%;
	float:right;
}
.monsin002 a{
	width:100%;
	margin-top: 20px;
	padding:15px;
	text-align:center;
	display:inline-block;
	box-sizing:border-box;
     position: relative;
}



.monsin001 a:hover,
.monsin002 a:hover{
	background:#007737;
}

.monsin001 a,
.monsin002 a{
	color:#FFF !important;
	background:#5F3E00;
}
    
    
    
    .maikuro {
    position: relative;
    width: 90%;
    padding: 25px 15px 20px;
}
    
    .monshin_app {
		text-align: center;
	}
	
	.monshin_app img {
		position:relative;
	}
    
    .pcr_titlle {
    position: inherit;
        top: 0;
}

    
    
    
    .pcr_titlle img{width: 100%;}

.sp_paragraph {
    font-size: 14px;
}
    
    
    .cov_box_of_2 {width: 99%; 
		display: flex; 
		flex-wrap: wrap;
		justify-content: space-evenly; 
		border: 2px solid #5F3E00;
		margin: 10px auto;
	}
	
	.cov_box_of_2 p.cov_link {width: 80%;
		display: block;
		margin: 0 auto;
	}
	.cov_box_of_2 p.cov_link a {
		color: #FFF !important;
    	background: #5F3E00;
		margin: 10px auto;
		padding: 10px;
		text-align: center;
		vertical-align: middle;
		display: block;
	}
	
	.cov_box_of_2 .cov_box_1 {width:48%; 
		margin: 10px 3px 10px 6px;
	}
	.cov_box_of_2 .cov_box_2 {width:45%; 
		margin: 10px 6px 10px 3px; 
		display: flex;
	}
	
	.cov_box_of_2 .cov_box_2 img {align-self: flex-start;}
	
	.cov_box_of_2 .cov_box_3 {width: 100%;}
    
    .sp_paragraph{
        font-size: 14px;
    }
    
    img.news02 {
    width: 110px;
    display: block;
}    
    img.news03 {
    width: 120px;
    display: block;
}
    
#sub_main .content .price_information {
    padding: 0 15px;
}
    
#sub_main .content .price_information h2 {
    margin: 0 auto 25px;
}    
    
.price_information p {
    text-align: center;
}
    
.bnr_img a {
    display: inline-block;
    margin: 50px auto 0;
}

.bnr_img img {
    width: 100%;
}  
    
.feature img.img_R {
    width: 100%;
}
    
#sub_main .content h2.flow {
    margin-bottom: 30px;
}  
    
#sub_main .flow table.table_price {
    font-size: small;
}
#sub_main .flow table.table_price strong {
    font-weight: bold;
    font-size: 1.8rem;
}  

/*#sub_main .content .inv_img {
    flex-flow: column;
}*/
    
#sub_main .content .inv_img img {
    width: 45%;
    margin: 0 auto -30px;
}    
	
#mouthpiece img.tokucho{width: 70%;margin: 0px auto 10px;}	
    
    
    
     }


@media screen and (max-width: 768px){
	.e-center {
		display: block;
		margin: 0px auto;
		width: 250px;}
		
	.content.mt30.top_information.with-scroller {width: 92%;}
	.scroller {height: 60vw;}
	p.scroll-info {font-size: 14px;}
	table.scroll-news {width: 100%; margin: 0 auto;  }
	table.scroll-news th,
	table.scroll-news td { display: block;}
	table.scroll-news th {padding: 2vw 0 0 2vw;}
	table.scroll-news td {padding: 0 0 2vw 2vw;}

    ul.swiper-wrapper{ overflow: initial; }
	.access-slide{ margin-bottom: 30px; }
	.access-slide__wrapper{ margin-bottom: 20px; }
	img.access-slide__img{ width: calc(100% - 60px); }
	#sub_main p.access-slide__txt{ margin-bottom: 0; line-height: 1.6; font-size: 14px; }
	.access-slide__pageing .swiper-pagination-bullet{ width: 14%; height: 50px; }
	.access-slide__arrow{ width: 20px; height: 20px; top: 100px; }
	.access-slide__arrow--next{ right: 5px; }
	.access-slide__arrow--prev{ left: 5px; }
	.jidv-text{margin-top:28px;
	}
	
	/*20250625　for_customer.html作成*/
	#sub_main ul.list {
    width: 70%;
    list-style: none !important;
    margin: 0 auto;
    padding: 0;
    font: 14px/1.6 'arial narrow', sans-serif;
}
	
	#sub_main ul.list li {
    position: relative;
    padding: 0.5em 1em 0.5em 2.3em;
    margin-bottom: 5px;
    color: #6A6B6F;
    font-size: 15px;
    font-weight: normal;
    border-bottom: 1px solid #709E60;
}
	#sub_main ul.list li:after, #sub_main ul.list li:before {
    content: "";
    position: absolute;
    -webkit-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}
	
	#sub_main ul.list li:before {
    top: 0.7em;
    left: 0.2em;
    width: 12px;
    height: 12px;
    border: 2px solid #524A32;
}
	#sub_main ul.list li:after {
    top: 0.9em;
    left: 0.7em;
    width: 14px;
    height: 14px;
    background: #709E60;
    opacity: 0.8;
    -webkit-transform: rotate(60deg);
    -moz-transform: rotate(60deg);
    -o-transform: rotate(60deg);
    -ms-transform: rotate(60deg);
    transform: rotate(60deg);
}	
	
}
	
	
	
}

