/* 幅1020px以下からcss適応 */
@media only screen and (max-width: 1020px){
	
	/* common */
	#mainconts{
		display: block;
		
		margin-bottom: 60px;
	}
	
	#main,
	#side_sp{
		width: 100%;
	}
	
	#side_pc{
		display: none;
	}
	
	#side_sp{
		margin-bottom: 50px;
	}
	

	/* トップページ 
	-------------------------------------------*/
	
	/* mainimage */
	#mainimage{
		margin-top: 0;
	}
	
	#mainimage .mainimage_bg{
		height: 400px;
		background-size: cover;
	}
	
	.mainimage_btn{
		height: 400px;
	}
	
	.mainimage_trial{
		left: 10%;
	}
	
	.mainimage_trial img{
		width: auto;
		max-width: 275px;
	}
	
	.mainimage_access{
		top: 50px;
		right: 5%;
	}
	
	.mainimage_access img{
		width: auto;
		max-width: 140px;
	}
	
	/* このようなお悩み */
	.nayami_conts{
		width: 100%;
		margin: 0 auto;

		-webkit-justify-content: center;		
		justify-content: center;
	}
	
	.nayami_text{
		width: auto;
	}
	
	/* ファンクショナルマッサージ治療室藤沢院のご紹介 */
	.top_infolist{
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	.top_infoconts{
		
	}
	
	/* 卒業生からのメッセージ */
	.top_message_conts{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	/* 実績 */
	.results04_imgconts{
		-webkit-justify-content: space-around;
		justify-content: space-around;
	}
	
	/* 特徴 */
	.top_feature_img img{
		width: 100%;
	}
	
	.top_feature_ttl02{
		text-align: center;
	}
	
	.top_feature_linklist{
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	.top_feature_linklist p{
		margin-right: 20px;
	}
	
	.top_feature_linklist p:last-of-type{
		margin-right: 0;
	}
	
	/* よくある質問 */
	.imglist li{
		width: 100%;
	}
	
	/* スタッフからみなさまへ */
	.staff_text{
		font-size: 15px;
	}
	
	
	/* 卒業生の声　受付時間 */
	.bannar_lr,
	.infoblog_lr{
		-webkit-justify-content: center;
		justify-content: center;
	}
	
	.bannar_conts,
	.infoblog_conts{
		margin-right: 30px;
	}
	
	.bannar_conts:last-of-type,
	.infoblog_conts:last-of-type{
		margin-right: 0;
	}
	
	/* conts_contact */
	.contact_l, 
	.contact_r{
		margin: 0 1em;
	}
	
	.contact_l p br{
		display: none;
	}
	
	.contact_open{
		left: 0;
		margin-left: 45px;	
	}
	
}

/* 幅920px以下からcss適応 */
@media only screen and (max-width: 980px){
	#header{
		display: none;
	}
	
	#sp_head{
		display: block;
		width: 100%;
		
		position: fixed;
		
		border-top: 3px solid #e42585;
		background: #ffefee;
		border-bottom: 1px solid #c9bba9;
		
		top: 0;
		
		color: #fff;
		z-index: 999999;
	}
	
	.sp_head_wrap{
		width: 100%;
		height: 73px;
		margin: 0 auto;
		
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		-webkit-align-items: center;
		align-items: center;
		
		line-height: 0;
	}
	
	.sp_head_tel,
	.sp_head_reserve,
	.sp_head_menu{
		width: calc(100% / 3 - 1px);
		height: 73px;
		border-left: 1px solid #c9bba9;
		text-align: center;
		line-height: 1.5;
		
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
	}
	
	.sp_head_tel a,
	.sp_head_reserve a{
		padding: 9px 0;
		display: block;
		
		
		color: #e42585;
		text-decoration: none;
	}
	
	.sp_head_tel a figure,
	.sp_head_reserve a figure{
		margin-bottom: 0;
	}
	
	
	.sp_head_menu .hum_menu_obtn figure{
		margin-bottom: 7px;
	}
	
	.sp_head_menu .hum_menu_obtn figure img{
		position: relative;
		top: 5px;
	}
	
	.sp_head_tel a p,
	.sp_head_reserve a p{
		line-height: 1;
		font-weight: bold;
	}
	
	.sp_head_tel img,
	.sp_head_reserve img{
		width: auto;
		max-width: 100%;
		height: 26px;
	}
	
	.sp_head_menu .hum_menu_obtn img{
		width: auto;
		max-width: 100%;
		height: 25px;
	}
	
	.sp_head_tel{
		border-left: none;
	}
	
	.sp_head_logo p{
		line-height: 0;
	}

	
	.sp_head_btn{
		display: -webkit-flex;
		display: flex;
	}
	
	.sp_btn_wrap{
		margin-right: 5px;
		line-height: 0;
		margin-top: 1px;
	}
	
	.res_btn img{
		height: 55px;
	}
	
	.sp_btn{
		display: none;
	}
	
	/* ハンバーガーメニュー */
	.sp_hummenu{
		position: relative;
		top: 0;
		height: 100%;
	}
	
	.hum_menu_obtn{
		background: none;
		
		border: none;
		padding: 8px 0;
		color: #e42585;
		width: 100%;

		font-size: 1em;
		font-weight: bold;
		display: block;
		
		cursor: pointer;
	}
	
	.hum_menu_obtn_bar{
		position: relative;
		width: 100%;
		border-top: 3px solid #fff;
		padding: 5px 0px 0;
	}
	
	.hum_menu_obtn_bar:before,
	.hum_menu_obtn_bar:after{
		content: "";
		display: block;
		border-top: 3px solid #fff;
		padding: 5px 0 0;
	}
	
	.hum_menu_obtn span{
	}
	
	.hum_menu_nav{
		background: rgba(253,222,221,0.95);
	    height: 100%;
	    left: 100%;
	    position: fixed;
	    top: 0;
	    transition-duration: 0.3s;
	    transition-property: left;
	    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
	    width: 100%;
	    color: #000;
	}
	
	.hum_menu_nav.clicked{
		left: 0;
		overflow: scroll;
		z-index: 9999;
	}
	
	.hum_menu_nav_close{
		padding: 15px 0;
	}
	
	.hum_menu_cbtn{
		background: rgba(64,166,41,0);
		border: none;
		color: #000;
		padding: 0;
		font-weight: bold;
		letter-spacing: 0.05em;
		display: block;
		position: absolute;
		top: 25px;
		right: 17px;
	}
	
	.hum_menu_cbtn_bar{
		position: relative;
		top: 0;
		width: 100%;
		padding: 5px 0 0;
	}
	
	.hum_menu_cbtn_bar:before,
	.hum_menu_cbtn_bar:after{
		content: "";
		display: block;
		border-top: 3px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		margin-top: 3px;
	}
	
	.hum_menu_cbtn_bar:after{
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		margin-top: -3px;
		margin-bottom: 15px;
	}
	
	.hum_menu_nav_menu{
		margin-top: 55px;
		margin-bottom: 30px;
	}
	
	.hum_menu_nav_menu ul{
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		border-top: 1px solid #000;
	}
	
	.hum_menu_nav_menu li{
		color: #000;
		width: 100%;
		text-align: center;
		border-bottom: 1px solid #000;
		line-height: 1.5;
		font-size: 0.85em;
		font-weight: bold;
		position: relative;
		text-align: center;
	}
	
	.hum_menu_nav_menu li:nth-child(2n+1){
		width: 100%;
		border-bottom: 1px solid #000;
	}
	
	.hum_menu_nav_menu li a:after{
		content: "";
	    position: absolute;
	    right: 15px;
	    width: 8px;
	    height: 8px;
	    margin-top: 3px;
	    border-top: 2px solid #000;
	    border-right: 2px solid #000;
	    -webkit-transform: rotate(45deg);
	    transform: rotate(45deg);
	    -webkit-transition: transform 0.3s linear 0s;
	    transition: transform 0.3s linear 0s;
	}
	
	.hum_menu_nav_menu li a.more_on:after{
		-webkit-transform: rotate(135deg);
	    transform: rotate(135deg);
	}
	
	.hum_menu_nav_menu li.sp_nav_more_wrap a{
		padding: 18px 0; 
	}
	
	.hum_menu_nav_menu ul.sp_nav_more{
		border-top: none;	
	}
	
	.hum_menu_nav_menu ul.sp_nav_more li{
		text-align: right;
		padding: 10px 15px 0;
		font-size: 1.05em;
		border-bottom: none;
		background: rgba(223,142,183,0.15);
	}
	
	.hum_menu_nav_menu ul.sp_nav_more li:last-child{
		border-bottom: none;
		padding-bottom: 10px;
	}
	
	.hum_menu_nav_menu ul.sp_nav_more li:after{
	    content: none;
	}
	
	.hum_menu_nav_menu ul.sp_nav_more li a{
		padding: 5px 0;
		text-align: center;
	}
	
	.hum_menu_nav_menu ul.sp_nav_more li a:after{
		content: none;
	}
	
	.sp_nav_more_o{
		display: none;
		width: calc(200% + 2px);
	}
	
	.sp_nav_more_r{
		position: relative;
		left: -100%;
		width: 200%;
	}
	
	.sp_nav_more_o ul{
		position: relative;
	    top: 15px;
	    background: #6fbd5f;
	    z-index: 9999;
	}
	
	.sp_nav_more_o ul li{
		border-bottom: 1px solid rgba(0,0,0,0.6);
		font-size: 1em;
		position: relative;
		z-index: 99999;
		font-size: 0.9em;
	}
	
	.sp_nav_more_o ul li:last-child{
		border-bottom: none;
	}
	
	.hum_menu_nav_menu li a{
		display: block;
		color: #000;
		margin-left: 5px;
		text-align: center;
		text-decoration: none;
		padding: 18px 0;
	}
	
	.hum_menu_nav_menu li span{
		display: block;
		font-weight: normal;
		font-size: 0.8em;
	}
	
	.hum_menu_contact{
		color: #fff;
		display: -webkit-box;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		margin:50px 20px 20px;
	}
	
	.hum_menu_contact a{
		margin: 0 auto;
		font-weight: bold;
		border-radius: 4px;
		text-decoration: none;
		font-size: 0.85em;
		padding: 2px 0;
		display: block;
		width: 100%;
		max-width: 200px;
	}
	
	.hum_menu_contact a.h_menu_contact{
		text-align: center;
		background: #fef764;
		color: #583c1b;
		padding: 5px 0;
	}
	
	.hum_menu_contact a.h_menu_contact .fas{
		margin-right: 5px;
	}
	
	
	.hum_menu_contact p{
		 margin-bottom: 15px;
		 width: 100%;
	}
	
	.hum_menu_contact p:last-of-type{
		margin-bottom: 0;
	}
	
	.hum_menu_contact .fa{
		margin-right: 5px;
	}
	
	.hum_open_bg_display.active{
		position: fixed;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.45);
		left: 0;
		top: 0;
		z-index: 1000;
	}
	
	.hum_menu_info{
	}
	
	.hum_menu_info_ttl{
		font-size: 1em;
		text-align: center;
		font-weight: bold;
		padding-bottom: 5px;
	}
	
	
	.hum_menu_info_wrap{
		width: calc(100% - 20px);
		padding: 15px 10px;
		border-bottom: 1px solid;
		text-align: center;
	}
	
	.hum_menu_info_name{
		font-size: 1em;
		font-weight: bold;
		line-height: 1.5;
	}
	
	.hum_menu_info_tel{
		margin:  0;
		font-size: 1.3em;
		line-height: 1.5;
		position: relative;
		font-style: italic;
	}
	
	.hum_menu_info_tel i{
		font-size: 1em;
		transform: rotate(-45deg);
		margin-right: 3px;
		line-height: 1;
		position: relative;
		top: -2px;
		
	}
	
	.hum_menu_info_open{
		font-size: 0.8em;
		line-height: 1.5;
	}
	
	.hum_menu_sns ul{
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		border-top: none !important;
	}
	
	.hum_menu_sns ul li{
		width: auto !important;
		border-bottom: none !important;		
	}
	
	.hum_menu_sns ul li a{
		padding: 10px 5px;
	}
	
	.hum_menu_sns ul li a:after{
		content: none !important;
	}
	
	
	#sp_logo{
		display: block;
		
		width: 95%;
		padding: 15px 2.5% 5px;
		margin: 78px auto 0;
		
		background: #fff;

		text-align: center;
	}
	
	#sp_logo img{
		width: auto;
		max-width: 100%;
	}
	
	#side_btn{
		top: 15%;
	}
}


/* 幅800px以下からcss適応 */
@media only screen and (max-width: 800px){
	.f_tbl_open tbody tr td{
		text-align: center;
	}
	
	#footer{
		padding-top: 30px;
	}
	
	.f_wrap{
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		
		margin-bottom: 30px;
	}
	
	.f_conts_l{
		text-align: center;
		margin-top: 20px;
	}
	
	.f_logo{
		margin-bottom: 10px;
	}
	
	.f_address{
		margin-bottom: 10px;
	}
	
	.f_link{
		-webkit-justify-content: center;		
		justify-content: center;
	}
	
	.f_link li a{
		font-size: 1em;
	}
}

/* 幅736px以下からcss適応 */
@media only screen and (max-width: 736px){
	.ttl03 span:before,
	.ttl03 span:after{
		background-image: none;
	}
	
	.ttl03 span:before{
	    border-left: 2px dotted #583c1b;
	    width: 2px;
	    height: 100%;
	    transform: rotate(-15deg);
	    position: absolute;
	    left: -20px;
	    top: 0;
	}
	
	.ttl03 span:after{
	    border-left: 2px dotted #583c1b;
	    width: 2px;
	    height: 100%;
	    transform: rotate(15deg);
	    position: absolute;
	    right: -20px;
	    top: 0;
	}
	
	/* トップページ */
	.top_voice_movie iframe{
		width: calc(100% - 16px);
	}
	
	.top_results_ttl03{
		font-size: 6vw;
	}
	
	.message_movie iframe{
		width: calc(100% - 16px);
	}
	
	
	/* 妊活無料動画 */
	.movie_conts iframe{
		width: calc(100% - 16px);
	}

}

/* 幅640px以下からcss適応 */
@media only screen and (max-width: 640px){

	.sp_checkbtn{
		display: block;
		
		position: fixed;
		top: 0;
		left: 0;
		z-index: 100;

		width: 100%;
		margin: 61px auto 0;
	}

	.sp_checkbtn a{
		display: flex;
		align-items: center;
		justify-content: center;
		flex-wrap: wrap;

		width: 100%;
		box-sizing: border-box;
		padding: 12px 8px;
		background: #e6c033;
		text-align: center;
		text-decoration: none;

		font-size: 4.6vw;
		font-weight: bold;
		line-height: 1.5;

		color: #583c1b;
	}

	.sp_checkbtn a img{
		display: block;

		width: auto;
		max-width: 18px;
		height: auto;
		margin: -3px 6px 0 0;
	}
	
	.sp_head_wrap{
		height: 57px;
	}
	
	.sp_head_tel,
	.sp_head_reserve,
	.sp_head_menu{
		height: 57px;
	}
	
	.sp_head_tel a figure,
	.sp_head_reserve a figure{
		line-height: 0;
		margin-bottom: 8px;
	}
	
	.sp_head_menu .hum_menu_obtn figure{
		margin-bottom: 3px;
	}
	
	.sp_head_tel img,
	.sp_head_reserve img{
		height: 20px;
	}
	
	.sp_head_menu .hum_menu_obtn figure img{
		height: 18px;
		top: 4px;
	}
	
	.sp_head_tel a,
	.sp_head_reserve a{
		padding: 10px 0;
	}
	
	.hum_menu_obtn{
		padding: 5px 0;
	}
	
	.sp_head_tel a p,
	.sp_head_reserve a p,
	.hum_menu_obtn span{
		font-size: 13px;
	}

	#sp_logo{
		margin-top: 110px;
	}
	
	#sp_logo img{
		width: 100%;
		max-width: 380px;
	}
	
	/* common */
	.top_conts{
		margin-bottom: 30px;
	}
	
	.top_conts:last-of-type{
		margin-bottom: 15px;
	}
	
	.ttl01{
		font-size: 24px;
		margin-bottom: 20px;
		padding: 10px 0;
		line-height: 1.25;
	}
	
	.ttl02{
		font-size: 16px;
		padding: 3px 10px;
		line-height: 1.8;
	}
	
	.ttl03{
		font-size: 22px;
		margin-bottom: 15px;
	}
	
	.ttl03 span{
		padding: 0 25px;
		text-align: left;
		line-height: 1.5;
		
		text-align: center;
	}
	
	.ttl03 span br{
		display: none;
	}
	
	.ttl03 span:before{
		left: 10px;
	}

	.ttl03 span:after{
		right: 10px;
	}
	
	.ttl03 strong{
		font-size: 1.4em;
		line-height: 1;
	}
	
	.ttl04{
		font-size: 24px;
		letter-spacing: -0.05em;
		margin-bottom: 10px;
		line-height: 1.25;
	}
	
	.ttl05{
		font-size: 24px;
	}
	
	.ttl09{
		font-size: 18px;
		padding-bottom: 5px;
		line-height: 1.5;
	}
	
	#mainconts{
		margin-bottom: 0;
	}
	
	
	/* トップページ */
	#mainimage{
		margin: 0 auto 15px;
	}
	
	#mainimage .mainimage_bg,
	.mainimage_btn{
		height: 320px;
	}
	
	.mainimage_pc{
		display: none;
	}
	
	.mainimage_sp{
		display: block;
	}
	
	#mainimage img{
		width: auto;
		max-width: 100%;
	}
	
	.mainimage_sp_trial{
		width: 95%;
		margin: 0 auto;
	}
	
	.mainimage_sp_trial img{
		width: auto;
		max-width: 100%;
	}

	.youtube_bnr-pc{
		display: none;
	}
	
	.youtube_bnr-sp{
		display: block;
	}
	
	/* お悩みを相談しませんか？ */
	.top_nayami{
		margin-bottom: 0 !important;
	}
	
	.nayami_conts{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.nayami_text{
		width: calc(100% - 10px);
		margin-right: 0;
		background: #ffe3e2;
		padding: 5px 5px 5px;
		margin-bottom: 20px;
				
		border-radius: 5px;
	}
	
	.nayami_list {
		padding: 10px 10px 2px;
		background: #fff;
	}
	
	.nayami_list li{
		background-position-y: 0;
		background-size: 18px auto;
		padding-left: 25px;
		
		font-size: 15px;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 15px;
		border-bottom: 1px dashed;
		padding-bottom: 5px;
	}
	
	.nayami_img{
		display: none;
		
		width: 100%;
		text-align: center;
		margin: 0 auto;
		line-height: 0;
	}
	
	.nayami_img img{
		width: 100%;
		max-width: 140px;
	}
	
	.results02_img img{
		max-width: 80%;
	}
	
	/* ご紹介 */
	.top_infolist{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.top_infoconts{
		text-align: center;
		margin-bottom: 40px;
	}
	
	.top_infoconts:nth-child(2){
		position: static;
	}
	
	.top_infoconts:last-of-type{
		margin-bottom: 0;
	}
	
	.top_infoconts figure{
		line-height: 1;
	}
	
	.top_infoconts figure img{
		width: 75vw;
		max-width: 450px;
		margin: 0 auto;
	}
	
	.top_info_ttl01{
		margin-top: 5px;
		
		font-family: "hannari";
		font-size: 24px;
		font-weight: bold;
		
		letter-spacing: -0.05em;
	}
	
	
	.top_info_pc{
		display: none;
	}
	
	.top_info_sp{
		display: block;
	}

	
	/* 初めての方へ */
	.top_voice_ttl01{
		background: #e42585;
		color: #fff;
		padding: 10px 10px;
		border: none;
		
		font-size: 18px;
		border-radius: 5px;
		
		position: relative;
	}
	
	.top_voice_ttl01:after{
		content: "";
		display: block;
		
		width: 0;
		height: 0;
		border: 10px solid transparent;
		border-top: 10px solid #e42585;
		
		position: absolute;
		bottom: -20px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.top_voice_movie iframe{
		width: 100%;
		border: none;
		
		min-height: 50vw;
		height: 100%;
	}
	
	
	/* 院長メッセージ */
	.introduce01-01{
		width: calc(100% - 10px);
		margin-top: -45px;
	}
	
	/* 卒業生からのメッセージ */
	.message_movie iframe{
		width: 100%;
		border: none;
		
		min-height: 50vw;
		height: 100%;
	}
	
	.top_message_conts{
		margin-bottom: 20px;
	}
	
	.message_movie{
		line-height: 0;
	}
	
	.message_text{
		font-size: 14px;
		font-weight: normal;
		line-height: 1.5;
	}
	
	/* スタッフ紹介 */
	.staffinfo_conts{
		flex-direction: column;
		background: #fff;
		box-sizing: border-box;
		padding: 16px;
	}

	.staffinfo_img{
		text-align: center;
		margin: 0 auto 16px;
	}

	.staffinfo_img figure{
		line-height: 0;
	}

	.staffinfo_img img{
		max-width: 200px;
	}

	.staffinfo_text{
		width: 100%;
		margin: 0 auto;
	}
	
	/* 実績 */
	.top_results_conts{
		padding: 15px 10px;
	}
	
	.top_results_ttl01{
		font-size: 25px;
		text-align: left;
		line-height: 1.2;
		margin-bottom: 20px;
	}
	
	.top_results_ttl01 br{
		display: none;
	}
	
	.top_results_02,
	.top_results_03,
	.top_results_04,
	.top_results_05{
		padding: 20px 15px;
	}
	
	.top_results_ttl02{
		font-size: 24px;
		padding: 5px 10px;
		margin-bottom: 0;
	}
	
	.top_results_ttl03{
		font-size: 22px;
		margin-bottom: 20px;
	}
	
	.top_results_ttl03 span{
		padding: 0;
	}
	
	.top_results_ttl03 span br{
		display: none;
	}
	
	.top_results_ttl03 span strong{
		font-size: 1.4em;
	}
	
	.top_results_ttl03 span:before,
	.top_results_ttl03 span:after{
		content: none;
	}

	.results02_img{
		margin-bottom: 20px;
	}
	
	.results02_topage{
		padding: 10px;
	}
	
	.results02_topage_age{
		display: inline;
		
		font-size: 16px;
		text-align: left;
	}
	
	.results02_topage_memo{
		font-size: 0.9em;
		line-height: 1.5;
		text-align: left;
	}
	
	.results02_conts{
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	
	.results02_conts_img{
		line-height: 0;
		margin: 0 auto 10px;
		height: 100%;
	}
	
	.results02_conts_img{
		width: 100%;
		max-width: 180px;
	}
	
	.results02_conts_text{
		width: 100%;
		margin: 0 0 10px;
	}
	
	.results_memo{
		text-align: left;
	}
	
	
	.top_results_ttl04{
		font-size: 23px;
		text-align: left;
		line-height: 1.5;
		padding-left: calc(1em + 10px);
		
		padding-bottom: 5px;
	}
	
	.top_results_ttl04 img{
		max-width: 30px;
		margin-left: calc(-1em - 10px);
	}
	
	.top_results03_conts{
		-webkit-flex-direction: column;	
		flex-direction: column;	
	}
	
	.top_results03_img{
		margin: 0 auto 10px;
		line-height: 0;
		
		width: 100%;
		max-width: 180px;
		height: 100%;
	}
	
	.top_results03_img img{
		width: auto;
		max-width: 100%;
		height: auto;
	}
	
	.top_results03_text{
		width: 100%;
		margin: 0 auto;
	}
	
	.top_results_ttl05{
		font-size: 24px;
		padding: 10px 0;
		margin-bottom: 20px;
	}
	
	.top_results03_step dl{
		margin-bottom: 15px;
	}
	
	.top_results03_step dl:after{
		left: 22px;
		bottom: -15px;
		
		height: 15px;
	}
	
	.top_results03_step dl dt{
		width: 50px;
		font-size: 28px;
		padding: 3px 0;
	}
	
	.top_results03_step dl dd{
		width: calc(100% - 70px);
		font-size: 17px;
		padding: 5px 10px;
		line-height: 1.5;
	}
	
	.top_results_ttl06{
		font-size: 22px;
		text-align: left;
	}
	
	.top_results_ttl06 br{
		display: none;
	}
	
	.top_results_ttl07{
		font-size: 18px;
		line-height: 1.5;
	}	
	
	.top_results_ttl07 br{
		display: none;
	}
	
	.results04_imgconts figure{
		width: 100%;
		max-width: 100%;
		margin-right: 15px;
	}
	
	.results04_imgconts figure:last-of-type{
		margin-right: 0;
	}
	
	.results04_imgconts figure figcaption{
		font-size: 0.9em;
		line-height: 1.5;
	}
	
	.results04_text{
		margin-top: 20px;
		padding: 5px 0 10px;
		
		border: none;
		border-top: 1px solid #583c1b;
		border-bottom: 1px solid #583c1b;
		border-radius: 0;
	}
	
	.top_results_ttl08{
		font-size: 15px;
		text-align: center;
	}
	
	.results04_text p{
		line-height: 1.7;
		margin-bottom: 10px;
	}
	
	.top_results_ttl09{
		font-size: 24px;
		line-height: 1.2;
		letter-spacing: -0.1em;
	}
	
	.top_results05_img{
		margin: 15px 0;
		line-height: 0;
	}
	
	.top_results05_btn a{
		font-size: 15px;
		padding: 10px 15px;
	}
	
	.top_results05_btn a:after{
		border: 1px solid #fff;
		width: calc(100% - 11px);
		height: calc(100% - 11px);
	}
	
	.top_results05_btn a .fas{
		margin-left: 5px;
		
		font-size: 1.1em;
		position: relative;
		top: 1px;
	}
	
	
	/* 卒業された患者様の声 */
	.voice_imgtext{
		-webkit-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	
	.top_voice_text{
		margin: 0 auto 20px;

		background: #e7a2a0;
		padding: 10px;
		border-radius: 5px;
		width: calc(100% - 20px);
		color: #fff;
		
		position: relative;
	}
	
	.top_voice_text:after{
		content: "";
		display: block;
		width: 0;
		height: 0;
		
		border: 20px solid transparent;
		border-top: 20px solid #e7a2a0;
		
		position: absolute;
		bottom: -30px;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.top_voice_img{
		margin: 0 auto 15px;
		line-height: 0;
		
		width: 100%;
		max-width: 220px;
		height: 100%;
	}
	
	.voice_user{
		display: block;
		margin-bottom: 0;
	}
	
	.voice_user span{
		display: block;
		text-align: center;
		
		border-bottom: 2px solid #fff;
		line-height: 1.7;
		font-size: 15px;
		border-radius: 0;
		
		padding: 0 0 2px;
		margin-bottom: 3px;
	}
	
	.voice_ttl01{
		font-size: 15px;
		line-height: 1.6;
		border-bottom: none;
		
		font-family: inherit;
		
		display: block;
	}
	
	.top_voice_koe{
		margin-top: 20px;
		padding: 40px 15px 0;
	}
	
	
	.voice_voice p{
		border-bottom: none;
		line-height: 1.8;
		display: block;
		margin-top: 10px;
		
		font-size: 14px;
		font-weight: normal;
	}
	
	/* 特徴 */
	.top_feature_ttl01:before{
		font-size: 16px;
		
		width: 30px;
		height: 30px;
	}
	
	.top_feature_conts:first-of-type .top_feature_ttl01:before{
		padding: 0 5px;
	}
	
	.top_feature_ttl01{
		font-size: 18px;
		line-height: 1.3;
		margin-bottom: 5px;
	}
	
	.feature_link_pc{
		display: none;
	}
	
	.feature_link_sp{
		display: block;
	}
	
	.top_feature_link{
		padding: 10px;
	}
	
	.top_feature_ttl02{
		background: url("../images/top/feature_ttl_sp.png") no-repeat left top;
		background-size: 20vw auto;
		padding-left: 21.5vw;
		text-align: left;
		min-height: 20vw;
		
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items: center;
		
		font-size: 5vw;
		font-family: "hannari";
		font-weight: bold;
		line-height: 1.15;
		letter-spacing: -0.1em;
		color: #e42585;
		
		margin-top: 0;
	}
	
	.top_feature_subttl02{
		margin: 3px auto 10px;
		text-align: center;
	}
	
	.top_feature_linklist02 p{
		margin-bottom: 5px;
		line-height: 1;
	}
	
	.top_feature_linklist02 p:last-of-type{
		margin-bottom: 0;
	}
	
	.top_feature_linklist02 img{
		width: auto;
		max-width: 100%;
	}
	
	/* 選ばれる理由 */
	.select_ttl01{
		font-size: 20px;
		padding-left: 28px;
		margin-bottom: 15px;
	}
	
	.select_ttl01 span{
		font-size: 34px;
	}
	
	.select_inline {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.select_inline figure{
		float: none;
		text-align: center;
		margin: 0 auto;
	}
	
	.select_inline p{
		font-size: 14px;
		font-weight: normal;
		line-height: 1.8;
	}
	
	.select4_media_book{
		padding: 15px;
	}
	
	.select4_media_book_conts{
		width: calc(50% - 5px);
		margin-right: 5px;
		margin-bottom: 20px;
	}
	
	.select4_media_book_conts:nth-child(2n){
		margin-right: 0;
		margin-left: 5px;
	}
	
	.media_book_ttl{
		font-size: 15px;
	}
	
	.media_book_sub{
		font-size: 15px;
		font-weight: normal;
	}
	
	.select4_media_other{
		-webkit-flex-direction: column;
		flex-direction: column;
		
		margin-top: 20px;
	}
	
	.select4_media_other_conts{
		width: 100%;
		margin: 0 auto 15px !important;
	}
	
	.select4_media_other_conts figure{
		text-align: center;
	}
	
	
	/* スタッフ */
	.staff_conts_lr{
		-webkit-flex-direction: column;
		flex-direction: column;
		
		margin-top: 0;
	}
	
	.staff_text{
		font-size: 14px;
	}
	
	.staff_text p{
		font-weight: normal;
	}
	
	.staff_img{
		text-align: center;
	}
	
	/* よくある質問 */
	.faq_conts dt{
		font-size: 16px;
		line-height: 1.5;
		padding-bottom: 10px;
		margin-bottom: 5px;
	}
	
	.faq_conts dd{
		font-size: 14px;
		line-height: 1.8;
	}
	
	.imglist li{
		margin-left: 5px;
	}
	
	.faq_memo{
		font-size: 14px;
		text-align: left;
		line-height: 1.5;
		margin-top: 5px;
	}
	
	/* 新着情報・ブログ */
	.bannar_conts figure{
		margin-bottom: 10px;
	}
	
	.bannar_lr,
	.infoblog_lr{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.infoblog_list li{
		border-bottom-style: dotted;
	}
	
	.bannar_conts,
	.infoblog_conts{
		text-align: center;
		margin: 0 auto !important;
	}
	
	.infoblog_conts{
		max-width: 100%;
	}
	
	.infoblog_list li{
		text-align: left;
	}
	
	/* メニュー・料金 */
	.tbl01 tbody tr{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.tbl01 tbody tr th{
		width: calc(100% - 20px) !important;
		padding: 5px 10px;
		
		font-weight: bold;
		line-height: 1.8;
	}
	
	.tbl01 tbody tr td{
		width: calc(100% - 20px) !important;
		padding: 5px 10px;
		
		font-size: 14px;
		line-height: 1.8;
	}
	
	
	/* サイドボタン */
	#side_btn{
		
		position: fixed !important;		
		transition: all 0.15s linear 0s;
		
		top: calc(100% + 19vw + 1px);
		right: 0;
		left: 0;
		bottom: 0;
		
		margin-bottom: -1px;
		
		z-index: 999;
	}
	
	.side_btn_pc{
		display: none !important;
	}
	
	.side_btn_sp{
		line-height: 0;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
		
		position: relative;
	}
	
	.side_btn_sp_conts{
		width: 50%;
		
	}
	
	.side_btn_sp_conts a{
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content: center;
		-webkit-align-items: center;
		align-items: center;
		
		font-size: 4vw;

		height: 19vw;
		text-align: center;
		color: #fff;
		text-decoration: none;
		
		
	}
	
	.side_btn_sp_conts a p{
		font-weight: bold;
		line-height: 1.5;
	}
	
	.side_btn_sp_conts a p img{
		width: auto !important;
		height: 18px !important;
		margin: 0 auto 5px;
		display: block;
	}
	
	.side_btn_sp_trial a{
		background: #e42585;
	}
	
	.side_btn_sp_movie a{
		background: #583c1b;
	}
	
	
	/* pagetop */
	#pagetop{
		display: none !important;
	}
	
	/* conts_contact */
	.conts_contact{
		padding: 40px 0;
	}
	
	.contact_ttl01{
		margin-bottom: 15px;
	}
	
	.contact_lr{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.contact_l{
		margin-bottom: 20px;
	}
	
	.contact_l p{
		font-size: 18px;
		line-height: 1.5;
	}
	
	.contact_tel img{
		width: auto;
		max-width: 100%;
	}
	
	.contact_open{
		margin-left: 0;
	}
	
	/* 下層ページ */
	#second #mainconts{
		margin-bottom: 0;
	}
	
	#breadcrumb{
		display: none;
	}
	
	#second #mainimage{
		height: 40vw;
		min-height: 150px;
		
		margin-bottom: 30px;
	}
	
	#second .mainimage_ttl{
		font-size: 8vw;
	}
	
	#second .mainimage_sub{
		font-size: 6vw;
		line-height: 1.2;
		margin-top: 10px;
	}
	
	.img_r {
		float: none;
		margin: 0 auto 10px;
		line-height: 0;
		text-align: center;
	}
	
	.img_r img{
		width: calc(100% - 10px);
	}
	
	/* 院内紹介 */
	.gallery_conts{
		width: calc(100% / 2 - 7.5px);
		margin-right: 15px;
		line-height: 1.5;
	}
	
	.gallery_conts:nth-child(3n){
		margin-right: 15px;
	}
	
	.gallery_conts:nth-child(2n){
		margin-right: 0;
	}
	
	/* 施術の流れ */
	.flow_conts{
		margin-bottom: 0;
	}
	
	.flow_ttl01{
		font-size: 18px;
		line-height: 1.3;
		padding-bottom: 5px;
		margin-bottom: 10px;
	}
	
	.flow_img{
		float: none;
		margin: 0 auto 15px;
		text-align: center;
		line-height: 0;
	}
	
	/* お客様の声 */
	.voice_btn{
		padding: 8px 0;
	}
	
	
	/* 妊活無料動画 */
	.movie_conts iframe{
		width: 100%;
		border: none;
		
		min-height: 50vw;
		height: 100%;
	}
	
	
	/* お問い合わせ */
	.contact_reserve_btn,
	.contact_line_btn{
		margin-bottom: 10px !important;
	}
	
	.contact_reserve_btn a,
	.contact_line_btn a{
		font-size: 15px;
		padding: 5px 0;
	}

	.contact_line_btn a img{
		max-height: 20px;
	}
	
	.tbl_contact input,
	.tbl_contact textarea{
		font-size: 16px;
	}
	
	.form_confirm{
		margin-top: 15px;
	}
	
	.form_confirm input{
		padding: 10px 15px;
	}
	
	
	.flow_img img{
		width: auto;
		max-width: calc(100% - 10px);
	}
	
	/* プライバシーポリシー */
	.list02{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.list02 li{
		margin-right: 0;
	}
	
	
	/* スタッフ紹介 */
	.staff_conts{
		margin-bottom: 30px;
		padding-bottom: 15px;
	}
	
	.staff_info_lr{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.staff_info_img{
		width: 230px;
		text-align: center;
		margin: 0 auto;
	}
	
	.staff_info_text{
		margin: 0 auto;
		width: 100%;
	}
	
	.staff_name{
		text-align: center;
	}
	
	.staff_name_ttl{
		line-height: 1.2;
	}
	
	.staff_name_ttl span{
		display: block;
		margin: 0 auto;
	}
	
	.staff_text_conts{
		margin-top: 15px;
	}
	
	
	/* wordpress */
	.cat_conts ul li{
		-webkit-flex-direction: column;
		flex-direction: column;
	}
	
	.cat_conts ul li span{
		line-height: 1;
		width: 100%;
	}
	
	.single_conts h4{
		font-size: 18px;
		line-height: 1.5;
	}
	
	.single_conts h5{
		font-size: 15px;
		padding: 5px 10px;
	}
	
	/* フッター */	
	.f_tbl_open thead tr th{
		text-align: center;
		width: 100%;
	}
	
	.f_tbl_open,
	.f_tbl_open thead,
	.f_tbl_open tbody{
		display: block;
		width: 100%;
	}
	
	.f_open_pc{
		display: none;
	}
	
	.f_open_sp{
		display: block;
	}
	
	.f_tbl_open thead tr {
		width: 100%;
		display: block;
		text-align: center;
	}
	
	.f_tbl_open thead tr th{
		width: 100%;
		text-align: center;
	}
	
	.f_tbl_open tbody tr{
		display: -webkit-flex;
		display: flex;
	}
	
	.f_tbl_open tbody tr th{
		width: calc(100% / 8);
		border: 1px solid;
		border-bottom: none;
		border-left: none;
		
		display: block;
	}
	
	.f_tbl_open tbody tr td{
		width: calc(100% / 8);
		border-top: none;
		border: 1px solid;
		border-left: none;
		padding: 0;

		display: block;
	}
	
	.f_tbl_open tbody tr th:first-of-type,
	.f_tbl_open tbody tr td:first-of-type{
		border-left: 1px solid;
		
	}
	
	.f_open_memo{
		font-size: 13px;
		line-height: 1.5;
		margin-top: 5px;
	}
	
	.f_logo img{
		width: auto;
		max-width: 95%;
		margin: 0 auto;
	}
	
	.f_link li{
		background-size: 10px auto;
		background-position: 0;
		padding-left: 12px;
		font-size: 12px;
		margin-right: 10px;
	}
	
	.cr{
		background: #fef764;
		color: #583c1b;
		padding: 8px 0;
		line-height: 1.3;
		margin-bottom: 19vw;
	}
}


/* 幅425px以下からcss適応 */
@media only screen and (max-width: 425px){
		
}