@charset "utf-8";
@media only screen and (min-width: 900px),print {


/*-------------------------------------
	コンテンツ
-------------------------------------*/



h1.blog_title{
	border-top: 2px solid #1DB0E9;
	border-bottom: 4px double #1DB0E9;
	padding:8px 0 10px 0;
	font-size: 30px;
	margin: 0 0 10px;
	line-height: 45px;
	color: #000000;
	font-family: 'Noto Sans JP';
	font-weight:normal;
}




a.link{
	max-width: 350px;
}

	.blocks{display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	align-items: stretch;
	margin: 0 0 30px;
	justify-content: space-between;}	
	
.block{width: 48%;
	display: block;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	background: #fff;
	box-shadow: 0 0 5px #aaa;
	margin-bottom: 40px;
	padding: 0 0 15px 0;
}
	
	.block:last-of-type{margin-bottom: 0;}	
	

	.about .block h3{background: none;
	border: none;
	text-align: center;
	margin: 0px 15px 15px 15px;}	
		
	
	.about .block .link2 a,
	.photobox .textbox .link2 a{max-width: 300px;
	margin: 0 auto;
	line-height: 1.2}	
	


	.about .block p{margin: 10px 15px;}
	
	
	
/*--PR01-----------------------------*/
	

/*　こんなお悩みありませんか？　*/

.nayami2 {
	margin: 0px auto;
	overflow: hidden;
	padding: 0px 0px;
	max-width: 1400px;
}
.nayami2 ul {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;

}
.nayami2 li {
	width: 50%;
	height:600px;
	display:flex;
}
.nayami2 li.photo img{
	height: 100%;
	object-fit: cover;
}
.nayami2 li.text {
	background: #fff;
	padding: 0% 5%;
	/*padding: 7% 5%;*/
	box-sizing: border-box;
	text-align: left;
	
	justify-content: center;
	align-items: center;
}
.nayami2 li.text p {
	font-size: 18px;
}
.nayami2 li.text p.title {
	font-family: 'Noto Sans JP', sans-serif;
	font-size:min(2.75vw,40px);
	line-height: 1.4;
	font-weight: bold;
	text-align: center;
	margin: 0 0 50px;
	color: #000;
	position: relative;
}
.nayami2 li.text p.title::after {
	position: absolute;
	content: "";
	display: block;
	bottom: -12px;
	width: 25%;
	left: 37.5%;
	border-bottom: 2px solid #1093CC;
}
	.nayami2 li.text p.title .semaku{letter-spacing: -0.075em;}
	
	
.nayami2 li.text .more a{display: block;
	border: 1px solid #1093CC;
	position: relative;
	color: #1093CC;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	padding:8px 10px;
	font-size: 18px;
		box-sizing: border-box;
	text-align: center;
	width: 20em;
	margin: 20px auto;}
	
	.nayami2 li.text .more a:after{content:"";
	display: block;
	width: 50px;
	height: 20px;
	background: url("../image/common/more1.png") no-repeat left top;
	background-size: 50px auto;
	position: absolute;
		right:-25px;
		top:25%;
	}	
	
	.nayami2 li.text .more a:hover:after{
		right:-40px;
		top:25%;
		transition:  0.6s ease;
	}
	
	.nayami2 li.text .more a:hover{background: rgb(89,179,255);
		background: linear-gradient(270deg, rgba(89,179,255,1) 0%, rgba(16,147,204,1) 100%);
	-webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
		color:#fff;
		border:2px solid #fff;
	}
	


	/*----------------------------------*/	
	
.feature{
display: flex;
flex-wrap: wrap;
align-content: stretch;
align-items: stretch;
justify-content: space-between;
}
	
.feature .feature_box{
	width: 30.5%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin: 0 0 80px;
position: relative;
	
  
}

.feature .feature_box img{
display: block;
margin: 0 auto 15px;
	width: 145px;
}
.feature .feature_box h3{
	
	border: none;
	padding: 0;
	margin: 0 0 10px;
	font-size: 21px;
	color: #1093CC;
	text-align: center;
	background: none;
	}
	
	.feature .feature_box h3 a{color: #1093CC;}
	.feature .feature_box h3 a:hover{opacity: 0.7;}
	
.feature .feature_box p{font-size: 17px;
	margin-bottom: 20px;
	

}
.feature .feature_box a p{color: #000;}


	
.feature .feature_box .more a{display: block; 
	width: 165px;
	position: absolute;
	right:30px;
	bottom:-30px;
	border: 1px solid #1093CC;
	
	color: #1093CC;
	font-family: 'Jost', sans-serif;
	font-weight: bold;
	padding:5px 10px;
	font-size: 15px;
		box-sizing: border-box;
	text-align: center;}	
	
	

	
.feature .feature_box .more a:after{content:"";
	display: block;
	width: 40px;
	height: 20px;
	background: url("../image/common/more1.png") no-repeat left top;
	background-size: auto 10px;
	position: absolute;
		right:-15px;
		top:25%;
	}	
	
	.feature .feature_box .more a:hover {background: rgb(89,179,255);
		background: linear-gradient(270deg, rgba(89,179,255,1) 0%, rgba(16,147,204,1) 100%);
	-webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
		color:#fff;
		border:2px solid #fff;
		}
	
	.feature .feature_box .more a:hover:after {
	position: absolute;
		right:-30px;
		top:25%;
		transition: 0.6s ease;
	}
	
/*--当院紹介　当院の特徴------------------------------*/	
.numbering-area {
  counter-reset: number;
  
}
	
	
	.tokucho h3,
	.tokucho h4{background: none;
	font-size: 1.75em;
		padding:10px 0 0 90px;
	color: #55BC1A;
	border-top: 1px solid #55BC1A;
		border-bottom: none;
	position: relative;
	line-height: 50px;}	
	
.tokucho h3::before,
	.tokucho h4::before{
  counter-increment: number;
  content: counter(number);
 display: block;
	position: absolute;
	left:0;
	top:0;
	width: 70px;
	height:70px;
	background: rgb(85,188,26);
background: linear-gradient(90deg, rgba(85,188,26,1) 0%, rgba(28,207,162,1) 100%);
	color: #fff;
	text-align: center;
	font-family: 'Jost', sans-serif;
	line-height: 70px;
	font-size: 1.25em;
	
}	
	
.main_contents_full .tokucho h4 span{
	font-size: 19px;
	color: #aaa;
	margin:0 0 0 15px;}	
	
.main_contents_full .tokucho h4:after{content:none;}

/*--院長挨拶-------------------------------*/

.inchou figcaption{
	color:#444583;
	text-align: center;
	font-size: 120%;
	font-weight: bold;
	margin: 15px 0 0 0;
}
.inchou figcaption strong{
	color:#9675AD;
	font-size: 90%;
}


/*-施術一覧----------------------------*/

ul.care_menu{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	/*background-color: #E4F4FC;
	padding: 15px 15px 0;*/
	box-sizing: border-box;
	
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	align-items: stretch;
	justify-content: space-between;
}
ul.care_menu li{
	width: 49%;
	padding: 0 0 15px;
}
ul.care_menu li a{
	display: block;
	font-size: 20px;
	font-weight: bold;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 10px 30px;
	line-height: 30px;
	background-color: #fff;
	color:#2A3C6B;
	background-image:url("../image/common/list2.png");
	background-repeat: no-repeat;
	background-position: 98% center;
	background-size: auto 15px;
	box-shadow: 0 0 6px #333;
	margin: 0;
	
}
ul.care_menu li a:hover{background-image:url("../image/common/list02.png");
background-color: #CA8DDD;
	color: #fff;
	text-shadow: 0 0 4px #333;
}



	
/* TOP対応症状一覧 */

.injuryblock{
	padding: 0 0 0;
}
.main_contents_full .injuryblock h2{
	padding: 0;
	background-image: none;
}
.main_contents_full .injuryblock h2 img{
}


.injuryblock ul{
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	align-items: stretch;
	margin: 0 0 30px;
	justify-content: center;
}
.injuryblock ul li{
	margin: 0 1% 25px;
	width: 31%;
}
.injuryblock ul li a{
	font-size: 26px;
	line-height: 30px;
	padding: 35px 5px 35px 80px;
	display: block;
	border-radius: 10px;
	color: #333333;
	background-color: #FFFFFF;
	-webkit-box-shadow: 3px 3px 3px #0B4BAE;
	box-shadow: 3px 3px 3px #0B4BAE;
	font-weight: bold;
	background-image: url(../image/top/icon.png);
	background-position: 20px 25px;
	background-repeat: no-repeat;
	background-size: auto 50px;
	height: 100%;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
.injuryblock ul li a:hover{
opacity: 0.7;
}

/*-----------TOPブログアーカイブ----------------*/

	
ul.top_archive{
	display: flex;
	flex-wrap: wrap;
	align-content: stretch;
	align-items: stretch;
	justify-content:center;
}
ul.top_archive li{
	width: 23%;
	margin: 0 1% 30px;
	background-color: #FFFFFF;
	box-shadow: 0 0 6px #9B889F;
}
ul.top_archive li a{
	display: block;
}
ul.top_archive li a:hover{
	opacity: 0.7
}
ul.top_archive li figure{
	display: block;
	width: 100%;
	padding: 1px;

	overflow: hidden;
	margin: 0 auto 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	text-align: center;
}
ul.top_archive li figure img{aspect-ratio:3/2;
width: 100%;
object-fit: cover;
	object-position:center 40%;
	border-radius: 0;
}


ul.top_archive li .txt{
	padding: 0 10px 5px;
}
.main_contents_full ul.top_archive li h3{
	font-size: 18px;
	margin: 0 0 5px;
	padding: 0;
	border-style: none;
	color:#0A63A8;
	background: none;
	display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 1; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
}
	.main_contents_full ul.top_archive li h3 a{color:#0A63A8;}	
	
ul.top_archive li p{
	margin: 0 0 5px;
	font-size: 14px;
}
ul.top_archive li p time{
	margin: 0 0 0 0;
}
ul.top_archive li p a{
	display: inline-block;
	background-color:#8A0BB0;
	padding: 0 5px;
	margin: 0 10px 5px 0;
	color: #FFFFFF;
}

ul.top_archive li p.text{display: -webkit-box; /* 必須 */
    -webkit-box-orient: vertical; /* 必須 */
    -webkit-line-clamp: 3; /* 行数を制限 */
    overflow: hidden; /* はみ出た部分を非表示 */
}


/*-スタッフ紹介2--------------------------*/


ul.imgbox3{
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: space-between;
}
ul.imgbox3 li{
width: 32%;
margin: 0 0 20px;

}
ul.imgbox3 li img{
	display: block;
	margin: 0 auto;
}


/*---------------------------*/

ul.imgbox2{
display: flex;
flex-wrap: wrap;
align-content: center;
align-items: center;
justify-content: space-between;
	margin: 0 10px;
}
ul.imgbox2 li{
width: 47%;
margin: 0 0 15px;

}
ul.imgbox2 li img{
	display: block;
	margin: 0 auto;
}
/*---------------------------*/

ul.imgbox4{
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 20px;
}
ul.imgbox4 li{
width: 24%;
margin: 0 0 0px;
text-align: center;

}
ul.imgbox4 li img{
	display: block;
	margin: 0 auto 10px;
}


ul.imgbox5{
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 20px;
}
ul.imgbox5 li{
width: 18%;
	box-sizing: border-box;
	background: #fff;
	padding:5px 10px;
margin: 0 0 0px;
text-align: center;
border: 3px solid #2A3C6B;
	border-radius: 10px;
}
ul.imgbox5 li img{
		display: block;
	margin: 0 auto 10px;
}


	
.flex3,
	.flex2{display: flex;
	flex-wrap: wrap;
	justify-content: center;}	
	
	.flex3{}
	
.flex3 .flexbox{width: 31%;
	margin: 0 1% 20px 1%;
	box-sizing: border-box
	}
	.flex2 .flexbox{width: 45%;
	margin: 0 2.5% 20px 2.5%;
	box-sizing: border-box
	}

	.shoplist .flexbox{background: #fff;
	box-shadow: 0 0 5px #41357E;}
	.shoplist .flexbox h3{font-size: 1.2em;}
	
	.shoplist .flexbox p{margin: 0 10px 10px 10px;}
	
	.shoplist .flexbox figure{margin: 0 10px 15px 10px;}
	.shoplist .flexbox .tel a{font-size: 35px;}
	
	
	
	.photobox{position: relative;
	display: flex;
	background:#fff;}
	
	.photobox figure{width:50%;
	}	

	
	.photobox .textbox{
	width: 50%;
	padding: 25px 15px 5px 15px;
	box-sizing: border-box;

	}
	.photobox .textbox h2{font-size: 35px;
	padding: 0;
	margin: 0 0 20px 0;}
	.photobox .textbox h2 .small{font-size: 25px;}
	.photobox .textbox h2:before{content:none;}	
	
	.photobox .textbox .aligncenter{margin: 0 auto 10px auto;}
	
	dl.profile{font-size: 17px;}
	dl.profile dt{width: 2em;
	padding: 4px 15px;
	line-height: 1.2;}
	
	dl.profile dd{padding-left:4.5em;}
	
	
	
	.info_box .infobox{width: 80%;
		float: right;
	}	
	
	.info_box .infobox iframe{height: 300px;}
	
	.info_box h2{width: 15%;
	float: left;}
/*====================================*/

/* トップページ症状別*/
	
	.pr01 .shoujou_comment{background: #fff;
	border: 5px solid #2A3C6B;
	color:#2A3C6B;
		font-size: 22px;
		margin: -100px auto 40px auto;
	font-weight: bold;
	padding: 5px 10px;
	text-align: center;
	max-width: 450px;}
	
	.injury_box ul{display:flex;
	justify-content:center;
	flex-wrap: wrap;}
	
	.injury_box ul li{width:16%;
	text-align: center;
	font-weight: bold;
	margin: 0 2% 20px 2%;}	
	
	.injury_box ul li a figure{display: block;
	margin: 0 auto 15px auto;}	
	
	.injury_box ul li a{color: #fff;
	font-size: 22px;}
	
	.injury_box ul li a figure img{aspect-ratio:1 / 1;
		object-fit: cover;
	border-radius: 50%;
	border: 5px solid #fff;
	box-sizing: border-box;}	
	
	
	.top_jiko .bg_white{padding: 0 50px 50px 50px;}	
	
/*====================================*/





/* SNS エリア*/

.sns_area{
	
	overflow: hidden;
	/*padding: 20px 0 20px;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	align-content: stretch;
	justify-content: space-between*/
}

.sns_area .left{
	width: 30%;
	display: block;
}
.sns_area .right{
	display: block;
	width: 30%;
}

.sns_area .center{
	width: 30%;
	display: block;

}

.sns_area .right .instabox{
	position: relative;
}
.sns_area .right .instabox::before {
	content: "";
	display: block;
	padding-top: 100%;
}
.sns_area .right .instabox iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


.sns_area .line{
	margin: 0 0 30px;
	display: block;
}
.sns_area .fb{
	height: 575px;
	text-align: center;
	width: 100%;
}



/* Googleカレンダーレスポンシブ対応 */
.sns_area .calendar{
 
  min-width: 400px; /* 最小幅 */
}

	.sns_area .calendar iframe{aspect-ratio:1/1!important;
	object-fit: cover;}	
	

.map iframe{
	aspect-ratio:2/1!important;
	width: 100%;
	object-fit: cover;
}

	
/*-------------------------------------------------------------------
		施術の流れ
-------------------------------------------------------------------*/


/*-〇〇の流れ3--------------------------*/

.step3 ol {
	list-style-type: none;
	padding:0px;
}

.step3 ol li {
	width: 100%;
	margin: 0 0 40px;
	box-sizing: border-box;
	overflow: hidden;
}
.step3 ol li:last-child {
	margin-bottom: 0px;
	border-bottom-style: none;
}

.step3 ol li img {
	width: 35%;
	height: auto;
	float: right;}

.step3 ol li p {
	width: 60%;
	float: left;}

       
    
	
.step3 ol li:nth-child(even) img {
	float: left;
}
.step3 ol li:nth-child(even) p {
	float: right;
	width: 60%;
}


.step3 ol li p.title {
	width: calc(60% - 70px);
	font-size: 150%;
	font-weight: bold;
	margin: 0px 0 20px 70px;
	line-height: 60px;
	color:#24408F;
}

.step3 ol li p.title b {
	display: block;
	line-height: 60px;
	width: 60px;
	text-align: center;
	margin: 0 20px 0 -70px;
	color: #fff;
	float: left;
	font-size: 25px;
	border-radius: 50%;
	font-family: Arial, Helvetica, "sans-serif";
	font-weight: bold;
	background: #434583;
background: linear-gradient(0deg, rgba(67, 69, 131, 1) 0%, rgba(162, 124, 180, 1) 100%);
}


.step3 ol li.nofloat p,
.step3 ol li.nofloat p.title{float: none;
    width: 100%;} 

.step3 ol li.nofloat ul.imgbox3 img {
	width: 100%;
	height: auto;
	float:none;} 
    
    .step3 ol li.nofloat ul.imgbox3 li{width: 32%;
    margin: 0 auto 20px auto;}    
    
/*-------------------------------------------------------------------
		料金表
-------------------------------------------------------------------*/

/*-料金表2--------------------------*/

.ryokin2{}

.ryokin2 table{background-color: #fff;
	width: 100%;
	border: 1px solid #444444;
	margin: 0 0 10px;
	text-align: center;
	font-size: 120%;

}
.ryokin2 table th{
	padding: 5px;
	border: 1px solid #444444;
	font-weight: bold;
	background: #E4D5EB;
	vertical-align: middle;
}

.ryokin2 table td{
	border: 1px solid #444444;
	padding: 3px;
	width: 35%;
	vertical-align: middle;
}
	

 dl.recruit dt{width: 6em;
	padding-right: 10px;
	padding-left: 10px;}

 dl.recruit dd{padding-left:8em;}

/*----------------------------*/

/* 患者様の声4 */


.voice4 .box{background: #fff;
	box-shadow: 0 0 5px #333;
	margin: 0 0 40px;
	position: relative;
}
.voice4 .box img {
width: 40%;
	float: left;
}
.voice4 .box .text {
	width: 58%;
	float: right;
}


.voice4 .box .text p {margin: 0;}
	.voice4 .box .text p.name{font-weight: bold;
	text-align: right;
		color: #CA8DDD;
	}	
	.voice4 .box .comment{border: 1px solid #41357E;
	padding: 10px;
	margin: 15px 0 0 0;}
	.voice4 .box .comment p{position: relative;
		color: #41357E;
		margin-bottom: 0;
	}	
	
	.voice4 .box .comment p:before{content:"院長のコメント";
		font-size: 15px;
		color: #41357E;
		border-bottom: 1px solid #41357E;
		padding: 0 0 5px 0;
		margin: 0 0 15px 0;
		font-weight: bold;
		display: block;
	}
/*-スタッフ紹介2--------------------------*/

.staff{
	display:flex;
	flex-wrap:wrap;}

.staff .staffbox{
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	margin: 5px 10px 20px;
	padding: 15px;
	box-sizing: border-box;
	width: calc(50% - 20px);
	background-color: #FFFFFF;
}

.staff .staffbox dl{
	margin: 0 0 20px 0;
}


}
