/*--- SP版 ---*/
@media screen and (max-width: 1180px){
	body{
		padding-top: 60px;
		font-family: sans-serif;
		font-size: 1.4rem;
		overflow-x: hidden;
	}
	@media screen and (min-width: 740px){
		body{
			font-size: 1.6rem;
		}
	}
	
	img, iframe{
		max-width: 100%;
	}
	
	.pc{
		display: none;
	}
	.sp{
		display: block;
	}
	
	.inner{
		width: calc(690/750 * 100vw);
	}
	
	/*--- HEADER ---*/
	#header{
		padding: 10px 0;
		box-sizing: border-box;
		height: 60px;
	}
	
	#logo{
		padding: 6px;
		width: 120px;
		height: 120px;
		border-radius: 0 0 32px 0;
	}
	@media screen and (min-width: 740px){
		#logo{
			padding: 8px;
			width: 180px;
			height: 180px;
			border-radius: 0 0 48px 0;
		}
	}
	#logo::after{
		height: 60px;
	}
	#logo img{
		width: 90%;
	}
	
	#main_navi{
		display: none;
		margin: 0;
		width: 100vw;
		height: auto;
		background: #F2F0E6;
		position: absolute;
		top: 100%;
		left: 0;
		right: auto;
		bottom: auto;
	}
	#main_navi a{
		display: block;
		margin: 0;
		padding: 1em 2em;
		border-top: 1px solid #FFF;
	}
	#main_navi a:first-of-type{
		border-top-width: 0;
	}
	
	a#a_reserve{
		width: 100%;
		height: auto;
		border-top-width: 0;
		border-radius: 0;
	}
	
	#reserve_btn_sp{
		display: inline-block;
		padding: 6px 16px;
		background: #FFAE33 url(images/bg_orange.jpg);
		border-radius: 4px;
		position: absolute;
		top: 10px;
		right: 56px;
	}
	#reserve_btn_sp img{
		vertical-align: bottom;
		width: 100px;
	}
	
	a#hd_tel{
		padding: 12px 30px;
	}
	
	#menu_btn{
		box-sizing: border-box;
		width: 36px;
		height: 26px;
		border: solid #99895B;
		border-width: 2px 0;
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
	}
	#menu_btn::before,
	#menu_btn::after{
		content: "";
		width: 100%;
		height: 2px;
		background: #99895B;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
	}
	#menu_btn.close{
		border: 0;
	}
	#menu_btn.close::after{
		transform: rotate(45deg);
		transform-origin: center;
	}
	#menu_btn.close::before{
		transform: rotate(-45deg);
		transform-origin: center;
	}
	
	/*--- 共通 ---*/
	.link_btn{
		display: block;
	}
	.link_btn a{
		margin: 30px auto 0;
		width: 80vw;
		min-width: auto;
		max-width: 360px;
	}
	
	/* お知らせ */
	.news_list dl{
		padding: 10px 15px;
	}
	.news_list dl > dt{
		margin-right: 1em;
	}
	
	/* 投稿・固定ページ */
	#page_header{
		height: 70vw;
	}
	#page_header::before{
		width: 85vw;
		height: 65vw;
	}
	#page_header .inner{
		padding-right: 5vw;
		width: 100%;
	}
	#page_header h1{
		margin-top: -5vw;
		border-radius: 0 20px 20px 0;
	}
	@media screen and (max-width: 420px){
		#page_header h1{
			padding: 5vw 4vw;
			font-size: 3rem;
		}
	}
	
	/* 1カラム用 */
	.single_container{
		padding-bottom: 40px;
		width: 92vw;
	}
	
	.crumbs{
		margin: 0 0 10px;
		font-size: 1.2rem;
	}
	
	.sub_title{
		margin: 60px 0 20px;
		font-size: 2em;
	}
	.sub_title::before,
	.sub_title::after{
		width: 40px;
	}
	.sub_title::before{
		margin-right: 10px;
	}
	.sub_title::after{
		margin-left: 10px;
	}
	
	.sub_title_s{
		font-size: 1.8em;
	}
	.sub_title_s::before{
		width: 1.88em;
		height: 1.88em;
		top: -0.3em;
	}
	
	.sub_title_ss{
		font-size: 1.6em;
	}
	
	/* STEP・流れ */
	.flow_dl{
		padding-top: 0;
	}
	.flow_dl::before{
		left: 31px;
		top: 33px;
	}
	.flow_dl dt{
		width: 66px;
		height: 66px;
	}
	.flow_dl dd{
		margin-left: 0.5em;
		font-size: 1.6rem;
	}
	.flow_dl dd h4{
		font-size: 1.25em;
	}
	
	/* 連絡先 */
	.tel_box{
		margin: 20px auto 0;
		padding: 20px;
		width: auto;
		max-width: 440px;
		border-radius: 16px;
	}
	.tel_box .tel_num{
		margin-bottom: 6px;
		font-size: 1.5em;
	}
	.tel_box .tel_num em{
		font-size: 1.5em;
	}
	
	/* 投稿一覧 */
	.post_list{
		margin: -20px auto 0;
		max-width: 760px;
	}
	.post_list::after{
		content: none;
	}
	.post_list > li{
		margin-top: 30px;
		width: 44vw;
		max-width: 360px;
	}
	.post_list .post_tmb img{
		height: 30vw;
		max-height: 240px;
		border-radius: 16px;
	}
	@media screen and (max-width: 760px){
		.post_list{
			display: block;
		}
		.post_list > li{
			width: auto;
		}
		.post_list .post_tmb img{
			height: 60vw;
		}
		.post_list.recent_post{
		/* 最近の投稿 */
			margin-top: -10px;
		}
	}
	
	/* 投稿詳細 */
	.post_container .eyecatch{
		margin: 0 auto;
		max-width: 720px;
	}
	.post_container .eyecatch img{
		max-height: 720px;
		border-radius: 4vw;
	}
	
	.post_container .post_title{
		padding: 10px 20px;
		border-radius: 2vw;
		font-size: 1.6em;
	}
	.post_container .post_title::before{
		width: 48px;
		height: 60px;
		top: -42px;
		left: auto;
		right: 10px;
	}
	
	.post_container .post_content{
		margin-top: 10px;
	}
	
	.yt_movie{
		margin: 0 auto;
		padding-top: 56.25%;
		max-width: 560px;
		position: relative;
	}
	.yt_movie iframe{
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	}
	
	/*--- FOOTER ---*/
	#footer{
		padding-top: 20px;
	}
	
	.ft_container,
	.ft_container .ft_left{
		display: block;
	}
	.ft_container .ft_right{
		justify-content: center;
		margin-top: 40px;
	}
	
	#ft_clinic{
		margin: 0 auto;
	}
	
	.ft_container .ft_bnr{
		margin: 20px auto 0;
	}
	.ft_container .ft_navi{
		margin: 0 20px;
	}
	
	#pagetop{
		width: 40px;
		height: 40px;
		right: 10px;
		bottom: 10vw;
	}
	#pagetop::after{
		margin-top: 4px;
		width: 10px;
		height: 10px;
	}
}