@charset "utf-8";
/* CSS Document */
body{
	margin:0 auto;
	font-family: -apple-system, BlinkMacSystemFont,"メイリオ", Meiryo, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, sans-serif;
	font-weight: 500;
	color:#111;
	font-size:16px;
	box-sizing: border-box;
	width:100%;
	line-height: 1.8em;
	text-align: justify;
	text-justify:auto;
	display:block;
}

main{
  width:100%;
}

strong{
  color:#1d2088;
  font-size: 112%;
}

section{
	padding:50px 0;
	margin:auto;
	display:block;
}

section .container{
	max-width:1200px;
	width:100%;
	display:block;
	margin:0 auto;
	padding:0;
}

.img-responsive{
  display: block;
  max-width: 100%;
  height: auto;
}

.center-block{
	text-align:center;
	margin:auto;
	display:block;
}

.text-center { text-align: center; }
.text-right { text-right: center; }

/* header ----------------------------------*/

header .head_cont{
	width:100%;
	background: url("../images/common/stripe_line.png") center bottom repeat-x;
  margin-bottom: 0;
  padding-bottom: 0.5em;
}

h1{
	font-size:0.8em;
	font-weight:normal;
	margin:0.5em auto 0 auto;
	text-align: right;
	color:#1d2088;
	width:80%;
	max-width:1300px;
}

.lower main a{
	text-decoration:none;
	font-weight:bold;
	color:#1D2088;
	border-bottom:1px dotted #1D2088;
	
}

.head_wrap{
  max-width:1360px;
  display : flex;
  flex-wrap : wrap;
  align-items: center;
  margin: 0 auto 0 auto;
}
.head_wrap .logo-area{
display: flex;
align-items: center;
max-width:50%;
margin-bottom:0.3em;
padding-left: 0.5em;
}

.head_wrap .logo-area dt{
  margin-right: 1em;
}

.head_wrap .logo-area dd a  img{
 	margin-top:2.0em;
}


.head_wrap .info-area{
  width:auto;
  max-width:46%;
  list-style: none;
  display: flex;
  flex-wrap : wrap;
  align-items: baseline;
  margin: 0 0 0 auto;
}

.head_wrap .info-area li{
  margin: 0 0.5em;
  width:45%;

}


.slicknav_menu{display:none;}

section .container.flex{
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}

.flex{
	display:flex;
	flex-direction: row;
	justify-content: space-between;
}

header a.reserve{
	margin:38px auto 0;
	transition: 1.0s ;
}

header a.reserve:hover{
	opacity:0.5;
}

.flex li{
	list-style:none;
}
/* グローバルナビゲーション */
header .global_nav{
	padding:0.5em 0;
}
header .global_nav .Nav{}
#menu{
	display:flex;
	flex-direction: row;
	justify-content: center;
	width: 100%;
	max-width: 1360px;
	margin: auto;
}

#menu li{
	display:block;
	list-style:none;
	width:calc(100% / 8);
	box-sizing: border-box;
	position:relative;
	border-radius: 0.5em;
	height:54px;
}
#menu li:nth-child(1),
#menu li:nth-child(7){
	width: 10%;
}
#menu li:nth-child(3),
#menu li:nth-child(4){
	width: 15%;
}



#menu li a,
#menu li div{
	display:block;
	padding:20px 0;
	box-sizing: border-box;
}

#menu li div +  ul li a{
	display:block;
	padding:10px 0;
	box-sizing: border-box;
}

#menu li:hover:before{
	content:url("../images/common/active_mark.png");
	display:block;
	height:15px;
	width:15px;
	position:absolute;
	left:5px;
	top:17px;
}

#menu li ul li:hover:before{
	content:"";
}


@media(max-width:1100px){
#menu li:hover:before{
	content:"";
	}
	#menu li{
		padding-left:0.5em;
		padding-right:0.5em;
		box-sizing: border-box;
	}
#menu li div + ul.sub_menu li a {
	font-size:0.7em;
	line-height:1.0em;
	}
}

#menu li:hover{
	background:#f8f8f8;
	white-space: nowrap;
}

#menu li img{
	margin:auto;
	display:block;
}

#menu li div{
	position:relative;
	display:inline-block;
	width:100%;
}

#menu li div + ul.sub_menu{
	position: absolute;
    display: none;
    z-index: 100;
	left:0;
	height:100%;
	width:100%;
	top:50px;
}
#menu li div + ul.sub_menu li{
    display: block;
	width:100%;
	text-align:center;
	box-sizing: border-box;
	background-color:#f8f8f8;
	border-radius: 0;
}

#menu li div + ul.sub_menu li a{
	text-decoration: none;
	color:#1d2088;
	width:100%;
	display:block;
}
#menu li div + ul.sub_menu li a:hover{
	background-color:#1d2088;
	color:#fff;
}

#menu > li:nth-child(8) > ul:nth-child(2) > li:nth-child(4) > a:nth-child(1){
	line-height:1.0em;
}

.lower main .btn{
	padding:0.5em 0;
	font-size:1.0em;
	color:#fff;
	background:#1d2088;
	box-sizing: border-box;
	text-decoration: none;
	max-width:435px;
	width:100%;
	display:block;
	text-align:center;
	margin-left:auto;
	margin-right:auto;
	letter-spacing: 0.1em;
	border-radius: 30px;
	transition: 1.0s ;
}

.btn:hover{
	opacity:0.5;
}

/*基本設定
--------------------------------------------------------------------------*/



h2,h3,h4,h5,h6{
	font-family: "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
	color:#1d2088;
}

header section .container.sp_none{
	height:auto;
	
}

main section p{
	margin-bottom:1.0em;
}
h3{
	line-height:1.1em;
	font-size:1.95em;
	letter-spacing: -0.05em;
	width:100%;
	background-repeat: repeat-x;
	text-align: center;
	padding:15px 0;
}

h4{
	font-size:1.8em;
	text-align:center;
	color:#4c7ab2;
	margin:1.5em 0;	
}

h5{font-size:20px;
	border-bottom:1px dotted #999;
	margin-bottom:0.75em;
}

h6{font-size:18px;
	border-bottom:1px dashed #666;
	margin:2.0em 0 0.75em;
}

.linebox{
	padding:15px;
	border: 1px dotted #666;
	margin-top:25px;
}

.box.white.linebox{
	margin-top:10px;
}

.box.white.linebox + p.large{
	color:#bae3f7;
	margin-top:-5px;
	margin-bottom:20px;
}


.linebox ol,.linebox ul{
	margin:10px 0;
	list-style-position:inside;
}

.linebox ol li,.linebox ul li{
	text-indent: -15px;
	padding-left: 15px;
}

.linebox.inline ul{
	margin:0;
	padding:25px 50px;
}

.linebox.inline li{
	display:inline;
	margin-right:10px;
	white-space: nowrap;
}

.linebox.inline li::before{
	content:"●";
	font-size:14px;
	color:#aaa;
	margin-right:5px;
}

span.astarisk{
	color:#a00;
}
p.astarisk::before{
	color:#a00;
	content:"*";
}
p.astarisk{
	text-indent:-10px;
	padding-left:15px;
	font-size:0.8em;
}

ul.container_flex li.split_3_1.marker::before{
	content:"●";
	font-size:0.7em;
	margin-right:0.5em;
	color:#666;
	text-align:center;
}

ul.container_flex li.split_3_1.marker{
	text-align:center;
}

p.large{
	font-size:3.0em;
}

/*グリッド
--------------------------------------------------------------------------*/
.container{
	display:block;
}

.container_flex{
	display:flex;
	flex-direction: row-reverse;
	justify-content: space-between
}

.mb2{
	margin-bottom: 1em;
}

.split{
	width:49%;
}
.split_3_1{
	width:30%;
}
.split_3_2{
	width:63%;
}
.split_4_1{
	width:24%;
}

.split_4_3{
	width:72%;
}

.split_5_1{
	width:20%;
	display:block;
}

.split_5_2{
	width:40%;
	display:block;
}

.split_5_3{
	width:60%;
	display:block;
}

.split_5_4{
	width:80%;
	display:block;
}

.container_flex .split img{
	width:100%;
}


.container h3{
	margin:0 0 30px;
}

/*オーバービュー*/
.lower_logo h3{
	text-align:center;
}

/*診療予約の枠（下層共通）
--------------------------------------------------------------------------*/
.reserve_area img{
	margin:1.0em auto;
	display:block;
}
.reserve_area p{
	text-align:center;
} 

/*フッター
--------------------------------------------------------------------------*/
footer{
	color:#fff;
	position:relative;
}

footer section:nth-child(1){
	max-width:1000px;
	margin:0 auto 0.25;
}

footer section:nth-child(1) .container.flex{
	max-width:1000px;
	margin:0;
}
footer section  .container.flex .split:nth-child(1){
	padding-left:0.5em;
}
footer section  .container.flex .split:nth-child(1) a:nth-child(1){
	display:block;
	margin-bottom:1.5em;
}

footer .container.flex .split{
	width:30%;
	display:block;
}

footer .container.flex .split:first-child{
	width:300px;
	display:block;
}

footer section a{
	transition: 1.0s ;
}

footer section a:hover{
	opacity:0.5;
}

.footer_address{
	margin-top:30px;
	width:100%;
	letter-spacing: -0.05em;
}

.footer_address,
.footer_address a{
	text-align: left;
	color:#1d2088;
	font-size:14px;
	line-height:1.5;
}

.footer_address a::before{
	content:'\f0da';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	display:inline-block;
	margin-right:0.5em;
}

footer .container.flex .split:nth-child(2){
	width:200px;
	display:block;
}

footer .container.flex .split:nth-child(2) img:nth-child(1){
	margin-top:5px;
}
footer .container.flex .split:nth-child(2) img:nth-child(2){
	margin-left:10px;
}

footer .container.flex .split:nth-child(3) img{
	margin-top:5px;
}

footer .container.flex .split:nth-child(3){
	width:450px;
	display:block;
}

footer section:nth-child(2){
	padding:0;
}

footer li a{
	color:#333;
	text-decoration: none;
	padding:0 15px 0 5px;
}

footer div{
	width:100%;
}

footer ul{
	display:flex;
	flex-direction: row;
	justify-content: center;
	width:1180px;
	margin:auto;
	position: relative;
}

footer::after{
	content:"";
	display:block;
	clear:both;
}

footer ul::after{
	content:url("../images/common/tooth_mark.png");
	display:block;
	position: absolute;
	bottom:-10px;
	right:-50px;
}

footer li{
	list-style:none;
	float:left;
	display:block;
	padding:5px 0;
}

footer li a{
	color:#1d2088;
}

footer li::before{
	content:url("../images/common/fotter_link_star.png");
	display:inline-block;
}

footer li:last-child{
	position: relative;
	padding-left:10px;
}

footer li:last-child::before{
	content:url("../images/common/footer_link_linkmark.png");
	display:inline-block;
	position: absolute;
	left:-5px;
	bottom:0;
}

footer p.copyright{
	width:100%;
	color:#fff;
	background-color:#1d2088;
	background-image:url("../images/common/stripe_line.png");
	background-position:center top;
	background-repeat:repeat-x;
	font-size:10px;
	padding:10px 0 2px;
}

.google-map iframe {
	border: none;
	vertical-align: bottom;
}
@media(max-width:767px){
	.google-map {
		margin: 10% 0 0;
	}
}

@media screen and (-webkit-min-device-pixel-ratio:0) and (max-device-width: 1024px){
footer ul{
		display:none;
	}
}

footer p.copyright{
	display:block;
	text-align:center;
	width:100%;
}

footer p.copyright a{
	color:#fff;
	text-decoration:none;
}

section.overview .container{
	text-align:center;
}

p.text-center{
	text-align:center;
}
/*------------------------------------------*/
@media(max-width:767px){
	h1{
		text-align: left;
		font-size: 0.5em;
		line-height: 1.0em;
		padding-bottom: 1.0em;
		width:98%;
	}
	
	header section{
		height:11em;
	}
	.head_wrap{
		width:98%;
	}
	.head_wrap .logo-area dd {
		padding-bottom:1.0em;
	}
	.head_wrap .logo-area{
		max-width:80%;
		margin-bottom:0;
	}
	header .head_cont{
		background-size: auto 5px;
	}
	.head_wrap .info-area{
		display:none;
	}
	.head_wrap .logo-area {
    	max-width: 80%;
		margin-bottom: 0em;
	}
	.slicknav_menu{
		display: block;
		position: relative;
		background-color: #fff;
		z-index: 100;
	}
	.slicknav_btn{
		position:absolute;
		right:0;
		top:0.1em!important;
		z-index: 105;
		cursor: pointer;
		padding-bottom:20px;
		background-color: #1d2088;
	}
	.slicknav_menu .slicknav_icon{
		margin: 0.2em;
	}
	
	.slicknav_menu .slicknav_menutxt {
		line-height: 1em;
		font-size: 10px;
		position:absolute;
		top:30px;
		right:6px;
	}
	
	.slicknav_menu .slicknav_nav{
		background-color:#DBEBFF;
		position:absolute;
		top: 14.5vw;
		left:0;
		width:100%;
		padding:0.5em 0;
	}
	.slicknav_nav li{
		padding:0 1.0em;
	}
	.slicknav_nav li li{
		padding:0;
	}
	.slicknav_nav li a{
		padding:0.5em 1.0em;
	}
	.slicknav_parent .slicknav_item div{
		padding:0px 0.5em;
	}
	
	.slicknav_menu .slicknav_nav li div{
		width:100%;
	}
	.slicknav_parent.slicknav_open{
		margin:0 0 1.0em;
	}
	.sub_menu{
		padding:0.5em 0;
		box-sizing: border-box;
	}

	.sub_menu li a{
		margin:0;
	}
	
	.slicknav_menu .slicknav_nav li a{
		color: #1d2088;
		margin:0 0 0.5em;
	}
	.slicknav_menu .slicknav_nav li div{
		color: #1d2088;
		margin-left:0;
		padding-left:5px;
	}

	.slicknav_menu .slicknav_nav li ul li a{
		margin:0;
	}	

	.slicknav_menu .slicknav_nav li a:hover,
	.slicknav_menu .slicknav_nav li div:hover{
		color: #1d2088;
		border-radius: 0;
	}
	 li.slicknav_parent div{
		position:relative;
	}
	 li.slicknav_parent div + .slicknav_arrow{
		color:#1c1f83;
		display:block;
		position:absolute;
		top:0;
	}
	li.slicknav_parent:nth-child(4) div + .slicknav_arrow{
		left:14.0em;
	}
	li.slicknav_parent:nth-child(8) div + .slicknav_arrow{
		left:11.0em;
	}
	
	.slicknav_nav > li:nth-child(1) > a:nth-child(1){
		padding-top:0.5em;
		padding-bottom:0;
	}
	li.slicknav_parent:nth-child(8) > ul:nth-child(2) > li:nth-child(4) > a:nth-child(1){
		line-height:1.0em;
	}
	
	header,
	header section,
	header section .container,
	.lower .key_visual,
	main section,
	main iframe,
	footer,
	footer section,
	footer section:nth-child(1) .container.flex{
		max-width:767px;
		min-width:initial;
		width:100%;
	}


	
	header section .container{
		padding:0;
		width:96%;
		margin:0 auto;
		height:auto;
	}
	
	header section .container.pc_none{
		padding-bottom:0;
		height:20px;
	}


	header .container.flex .split_5_3 > img:nth-child(1){
		width:5.0em;
		margin:1.0em auto 0;
		display:block;
	}
	
	header .container.flex .split_5_3 > img:nth-child(2){
		width:10.0em;
		margin:0 auto;
		display:block;
	}
	
	header .container.flex .split_5_3 a img{
		width:17em;
		height:auto;
		margin:0 auto;
		display:block;
	}

	header .container.flex .split_5_3 >a:last-child img{
		width:10em;
		margin:10px auto 25px;
		display:block;
	}	
	
	header .container.flex .split_5_2 .flex a.reserve img{
		margin:10px auto 20px;
		display:block;
	}
	
	header .global_nav{
		height:0;
		overflow: hidden;
		margin-bottom:18vw;
	}

	.lower .global_nav{
		display:none;
		margin-bottom:0;
	}

	
	header section .container{}
	header section .container.flex{
		display:flex;
		flex-direction: column;
	}
	
	header section .container.flex .split_5_2,
	header section .container.flex .split_5_3{
		width:100%;
	}
	
	header section.global_nav nav.Nav ul{
		flex-wrap:wrap;
	}
	header section.global_nav nav.Nav ul li{
		width:calc(100% / 3);
	}
	
	header section.key_v .container img{
		width:100%;
		display:block;
	}
	lower main  a.btn {
		padding: 0.5em;
		font-size: 1.0em;
		color: #fff;
		background: #1d2088;
		box-sizing: border-box;
		text-decoration: none;
		width: 90%;
		display: block;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
		letter-spacing: 0.1em;
		border-radius: 30px;
	}
	h3 img{
		width:45%;
	}
	section .container_flex,
	section .container{
	width:100%;
	}
	main section .container .container_flex div h4 {
	    font-size: 22px;
		font-weight:bold;
	}
	h5 {
	    font-size: 20px;
	    border-bottom: 1px solid #333;
	    width: 100%;
	}
	h6{
		font-size:18px;
		border-bottom:1px dashed #666;
	    margin: 0 auto 0.75em;
	    width: 94%;
	}
	.linebox.inline li{
		display:block;
	}
	.container_flex .split_5_1{
		padding-bottom:0;
	}
	header section{
		background-image:none;
		width:20%;
		margin:auto;
	}
	header section div.container_flex div.address{
		display:none;		
	}
	section .container_flex,
	section .container{
	width:96%;
	margin:auto;
	}
	section .container_flex{
		flex-direction: column;
		justify-content: flex-start;
	}
	h3{
		text-align:center;
	}
	.pc_obj_inline{display:none!important;}
	.pc_obj{display:none!important;}
	.sp_obj{display:block!important;}
	.lower .key_visual .container{
		width:100%;
		display:block;
	}
	.lower .key_visual .container h2{
		width:100%;
		text-align:center;
		margin:0 auto;
		left:auto;
		right:auto;
	}

	.lower main section.service .container h3{
		width:96%;
		text-align:center;
		margin: 0 auto 25px;
	}	
	
	.lower main section.service .container .container_flex{
		width:100%;
		flex-direction: column;
	}
	.lower main section.service .container .container_flex .split{
		width:96%;
		margin:auto;
	}
	
	.lower main section.event .container{
		width:100%;
	}	
	
	.lower main section .container div h3,
	.lower main section .container div p,
	.lower main section .container div a.contact{
		width:96%;
		margin:0 auto 25px;
	}
	

	
	section h3,
	section .container,
	section .container_flex{
		width:100%;
		margin:auto;
	}
	section .container div,
	section .container_flex div,
	section .container_flex ul{
/*		width:96%;*/
		display:block;
/*		margin:auto; */
	}
	section.overview .container_flex,
	section.overview .container_flex.lower{
		width:100%;
		margin:auto;
	}
	section.overview div.container_flex ul,
	section.overview div.container_flex.lower ul{
		width:90%;
		display:flex;
		flex-wrap: wrap;
		margin:auto;
		justify-content: space-between;
	}
	
	section h3{
		font-size:1.5em;
	}
	
	section.treatment div ul.container_flex{
		flex-direction: row;
		flex-wrap: wrap;
		width:100%;
		height:auto;
		min-height: 100vw;
	}
	section.treatment ul.container_flex li{
		display:block;
		width:calc(100% / 3);
	}
	section.treatment ul.container_flex li a{
		-webkit-writing-mode:horizontal-tb;
		-ms-writing-mode:lr-tb;
		writing-mode : horizontal-tb;
		font-size:5.0vw;
		line-height:1.2rem;
		text-align:center;
		height:100%;
		background-image:none;
		padding-top:10vw;
	}
	section.treatment div ul.container_flex li a:last-child{
		border-right:none;
	}
	
	.treatment div ul.container_flex li a:hover{
		padding-top:7vw;
	}
	
	.treatment div ul.container_flex li a img{
		width:100%;
		margin-top:25px;
		left:0;
	}

	/*フッター
--------------------------------------------------------------------------*/
	footer{
		font-size:14px;
		line-height:1.5;
		padding:5px 0;
	}

	footer section .container{}
	footer section .container.flex{
		flex-direction: row;
		flex-wrap:wrap;
	}
	footer .container.flex .split:first-child,
	footer .container.flex .split:nth-child(2){
		width:40%;
		margin:auto;
		display:block;
	}
	footer .container.flex .split:nth-child(3){
		width:90%;
		margin:auto;
		display:block;
	}

	footer section .container.flex .split a img{
		width:80%;
		display:block;
		margin:0 auto 20px;
	}

	footer .container.flex .split:nth-child(2) img:nth-child(1){
		width:30%;
		margin:25px auto 10px;
		display:block;
	}
	footer .container.flex .split:nth-child(2) img:nth-child(2){
		width:80%;
		margin:10px auto 25px;
		display:block;
	}
	footer .container.flex .split:nth-child(3) img{
		width:90%;
		display:block;
		margin:auto;
	}

	
	footer p.copyright{
		padding-bottom:55px;
		margin-bottom:-5px;
	}
	footer .pc_none.container.flex{
		position:fixed;
		display:flex!important;
		justify-content: space-between;
		flex-direction: row;
		bottom:-5px;
		background-color: #1D2088;
		padding-top: 1.0em;
	}
	footer .pc_none.container.flex a{
		width:48%;
		display:block;
		padding:10px;
		box-sizing: border-box;
		color:#fff;
		text-decoration: none;
		border-radius: 5px;
		text-align:center;
	}
	footer .pc_none.container.flex a.tel{
		background-color:#b22222;
	}
	footer .pc_none.container.flex a.reserve{
		background-color:#00ced1;
	}
	body{
		font-size:16px;
	}
	
	.container_flex .split_3_1,
	.container_flex .split_3_2{
		width:90%;
		margin:auto;
	}
	.container_flex .split_3_1 img,
	.container_flex .split_3_2 img{
		width:100%;
	}
	.lower main section.event .container p.kome{
		width:95%;
		text-indent:0;
		padding-left:0;
	}
	.lower section .container div{
		width:98%;
		margin:auto;
	}
	p.text-center{
		text-align:left;
		width:98%;
		margin-left:auto;
		margin-right:auto;
	}
	.lower section.service .container div p.text-center{
		width:100%;
	}

	.lower main section .container div h4{
		width:100%;
		text-align: center;
	}
}

@media(max-width:480px){
	
	.slicknav_menu .slicknav_nav{
		top: 18.5vw;
	}
	
	body{
		font-size:16px;
	}
	
	header .global_nav{
		height:0;
		overflow: hidden;
		margin-bottom:5vw;
	}
	
	header section{
		background-image:none;
		width:20%;
		margin:auto;
	}
	
	header section.global_nav nav.Nav ul li{
		width:calc(100% / 2);
	}
	
	h3 img{
		width:75%;
	}
	
	ul.container_flex li.split_3_1.marker{
	text-align:left;
	}
	header section .container{
		padding:0;
		width:96%;
		margin:0 auto;
		height:auto;
	}
	
	header section .container.pc_none{
		padding-bottom:0;
		height:20px;
	}



	header .container.flex .split_5_3 > img:nth-child(1){
		width:5.0em;
		margin:1.0em auto 0;
		display:block;
	}
	
	
	header .container.flex .split_5_3 a img{
		width:15.0em;
		height:auto;
		margin:0 auto;
		display:block;
	}

	header .container.flex .split_5_3 > a:last-child img{
		width:10em;
		margin:10px auto 25px;
		display:block;
	}	
	
	header .container.flex .split_5_2 .flex a.reserve img{
		margin:10px auto 20px;
		display:block;
	}
	
	
	header section .container{}
	header section .container.flex{
		display:flex;
		flex-direction: column;
	}
	
	header section .container.flex .split_5_2,
	header section .container.flex .split_5_3{
		width:100%;
	}

	lower main a.btn {
		width: 90%;
		text-align: center;
		margin-left: auto;
		margin-right: auto;
	}
	h3 img{
		width:45%;
	}
	main section .container .container_flex div h4 {
	    font-size: 22px;
		font-weight:bold;
	}
	h5 {
	    font-size: 20px;
	    border-bottom: 1px solid #333;
	    margin: 0 auto 0.75em;
	    width: 100%;
		letter-spacing: -0.05em
	}
	h6{
		font-size:18px;
		border-bottom:1px dashed #666;
	    margin: 0 auto 0.75em;
	    width: 94%;
	}
	.linebox.inline li{
		display:block;
	}
	.container_flex .split_5_1{
		padding-bottom:0;
	}

	header section div.container_flex div.address{
		display:none;		
	}
	
	.lower main section{
		padding:40px 0;
	}
	
	
	section .container_flex,
	section .container{
	width:96%;
	margin:auto;
	}
	section .container_flex{
		flex-direction: column;
		justify-content: flex-start;
	}
	section h3{
		text-align:left;
		font-size:1.3em;
		line-height:1.3em;
	}
	h4{text-align:center;}
	
	
	.pc_obj_inline{display:none!important;}
	.pc_obj{display:none!important;}
	.sp_obj{display:block!important;}

	section .container{
		width:90%;
		margin:auto;
	}
	
	section.overview .container_flex,
	section.overview .container_flex.lower{
		width:100%;
		margin:auto;
	}
	section.overview div.container_flex ul,
	section.overview div.container_flex.lower ul{
		width:90%;
		display:flex;
		flex-wrap: wrap;
		margin:auto;
		justify-content: space-between;
	}
	
	
	section.treatment div ul.container_flex{
		flex-direction: row;
		flex-wrap: wrap;
		width:100%;
		height:auto;
		min-height: 100vw;
	}
	section.treatment ul.container_flex li{
		display:block;
		width:calc(100% / 3);
	}
	section.treatment ul.container_flex li a{
		-webkit-writing-mode:horizontal-tb;
		-ms-writing-mode:lr-tb;
		writing-mode : horizontal-tb;
		font-size:5.0vw;
		line-height:1.2rem;
		text-align:center;
		height:100%;
		background-image:none;
		padding-top:10vw;
	}
	section.treatment div ul.container_flex li a:last-child{
		border-right:none;
	}
	
	.treatment div ul.container_flex li a:hover{
		padding-top:7vw;
	}
	
	.treatment div ul.container_flex li a img{
		width:100%;
		margin-top:25px;
		left:0;
	}

	/*フッター
--------------------------------------------------------------------------*/
	footer{
		font-size:14px;
		line-height:1.5;
		padding:5px 0;
	}
	footer section:nth-child(1){
		width:auto;
	}
	footer section .container{}
	footer section .container.flex{
		flex-direction: column;
	}
	footer .container.flex .split:first-child, footer .container.flex .split:nth-child(2){
		width:90%;
		margin:auto;
		display:block;
	}

	footer section .container.flex .split a img{
		width:80%;
		display:block;
		margin:0 auto 20px;
	}

	footer .container.flex .split:nth-child(2),
	footer .container.flex .split:nth-child(3){
		width:90%;
	}
	
	footer .container.flex .split:nth-child(2) img:nth-child(1){
		width:50%;
		margin:25px auto 10px;
		display:block;
	}
	footer .container.flex .split:nth-child(2) img:nth-child(2){
		width:70%;
		margin:10px auto 25px;
		display:block;
	}
	footer .container.flex .split:nth-child(3) img{
		width:100%;
		margin:auto;
	}

	
	footer p.copyright{
		padding-bottom:55px;
		margin-bottom:-5px;
	}
	footer .pc_none.container.flex{
		position:fixed;
		display:flex;
		justify-content: space-between;
		flex-direction: row;
		bottom:-5px;
	}
	footer .pc_none.container.flex a{
		width:48%;
		display:block;
		padding:10px;
		box-sizing: border-box;
		color:#fff;
		text-decoration: none;
		border-radius: 5px;
		text-align:center;
	}
	footer .pc_none.container.flex a.tel{
		background-color:#b22222;
	}
	footer .pc_none.container.flex a.reserve{
		background-color:#00ced1;
	}
}

@media(max-width:400px){
	header .global_nav{
		height:0;
		overflow: hidden;
		margin-bottom:0;
	}
}
@media(max-width:360px){
	.slicknav_menu .slicknav_nav{
		top: 22.5vw;
	}
}
/*全体(モバイル)
--------------------------------------------------------------------------*/

/*マージン調整用
--------------------------------------------------------------------------*/
.mt00{margin-top:0}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}
.mt60{margin-top:60px;}
.mt70{margin-top:70px;}
.mt80{margin-top:80px;}
.mt90{margin-top:90px;}
.mt100{margin-top:100px;}
.mb00{margin-bottom:0 !important;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}
.mb60{margin-bottom:60px;}
.mb70{margin-bottom:70px;}
.mb80{margin-bottom:80px;}
.mb90{margin-bottom:90px;}
.mb100{margin-bottom:100px;}

.pt00{padding-top:0;}
.pb00{padding-bottom:0;}

.text_center{
	text-align:center;
}


.line_box{
	width:100%;
	border:1px solid #8cc777;
	padding:30px;
	box-sizing: border-box;
}

.kome{
	text-indent:-25px;
	padding-left:25px;
}

.asterisk{
	text-indent:-15px;
	padding-left:20px;
}


.kome::before{
	content:"※";
	margin-right:0.5em;
	
}
.asterisk::before{
	content:"*";
	margin-right:0.3em;
	color:#f00;
}

.small_asterisk{
	color:#f00;
}

a.totop{
	position:fixed;
	padding:5px 10px;
	border-radius: 5px;
	color:#fff;
	bottom:70px;
	right:10px;
	background-color:#1d2088;
	display:block;
	text-decoration: none;
}

/*表示/非表示の切り替え
-------------------------------------------------------------------------------------------------------------*/
.sp_none_inline{display:inline-block!important;}
.sp_none{display:block!important;}
.pc_none,.pc_none_inline{display:none!important;}
@media(max-width:767px){
.sp_none_inline,.sp_none{display:none!important;}
.pc_none{display:block!important;}
.pc_none_inline{display:inline!important;}
}

/*ieのみスペース開けるときに使う
-------------------------------------------------------------------------------------------------------------*/
@media all and (-ms-high-contrast: none){
    .ie_specer{
        display:block;
		width: 0.5em;
    }
}
/*edgeのみスペース開けるときに使う
-------------------------------------------------------------------------------------------------------------*/
@supports (-ms-ime-align:auto) {
    .ie_specer{
        display:block;
		width: 0.5em;
    }
}