/*==================================================
	タブレットのみ適応
==================================================*/
@media only screen and (max-width: 768px) and (min-width: 641px){
	.dsp_smt { display: none; }
	#room .list dl:nth-of-type(3n+1) {
		margin-left: 0;
		clear: both;
	}
	/* お知らせ */
	#top_info .w70 {
		width: 70%;
		float: left;
	}
	#top_info .w30 {
		width: calc( 30% - 20px );
		float:right;
	}
}
/*==================================================
	タブレット・スマホに適応
==================================================*/
@media only screen and (max-width: 768px) {
	.dsp_hp { display: none; }

	/* ヘッダ */
	#header {
		overflow: hidden;
		height: auto;
		padding: 0;
		background: #fff;
	}
	#header h1 {
		width: 100%;
		color: #999;
		font-size: 10px;
		line-height: 1;
	}
	#header p.title {
		height: 50px;
		padding-left: 10px;
	}
	#header p.title img {
		width: auto;
		max-height: 28px;
	}
	#sticky {
		position: relative;
		z-index: 9997;
	}
	#sticky.sticky {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background: #fff;
		box-shadow: 0 0 5px rgba(0,0,0,0.2);
	}
	/* お問い合わせ */
	#header .contact {
		position: relative;
	}
	#header .contact .tel,
	#header .contact .btn {
		position: absolute;
		top: 0;
		right: 44px;
		display: block;
		width: 24px;
		height: 50px;
		padding: 0 11px;
		/* 縦方向中央揃え */
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center; /* 縦方向中央揃え（Safari用） */
		align-items: center; /* 縦方向中央揃え */
		-webkit-justify-content: center; /* 横方向中央揃え（Safari用） */
		justify-content: center; /* 横方向中央揃え */
	}
	#header .contact .btn {
		right: 66px;
	}
	#header .contact .txt,
	#header .contact .tel span,
	#header .contact .btn span {
		display: none;
	}
	/* コンテナ */
	#container h2.sub,
	#container h3.sub {
		margin-bottom: 30px;
		font-size: 20px;
	}
	#container h3.sub span {
		font-size: 17px;
	}
	.main {
		padding-left: 15px;
		padding-right: 15px;
	}
	#main, #navi {
		clear: both;
		padding-bottom: 30px;
	}
	/* フッター */
	#footer .contact .txt,
	#footer .contact .tel {
		text-align: center;
	}
	#footer .contact .tel {
		margin-bottom: 5px;
	}
	#footer .box {
		padding: 30px 0;
	}
	#footer .box .title_f {
		padding-right: 0;
		text-align: center;
		margin-bottom: 30px;
	}
	#footer .box .title_f img {
		width: 160px;
	}
	#footer .contact {
		padding: 10px 20px 10px 0;
		width: 50%;
		box-sizing: border-box;
	}
	#footer .contact .tel a {
		font-size: 36px;
	}
	#footer .box .schedule .txt,
	#footer .contact .txt2 {
		font-size: 14px;
	}
	#footer .box .schedule {
		padding-left: 20px;
		width: 50%;
		box-sizing: border-box;
	}
	#footer .box .schedule table th, #footer .box .schedule table td {
		font-size: 14px;
		height: 35px;
	}
	#footer .box .schedule table th {
		width: 120px;
	}
	#footer .box .schedule table td {
		width: 30px;
	}
	#copyright {
		height: 30px;
		line-height: 30px;
	}
	/* パンくずリスト */
	#page_navi {
		margin-bottom: 20px;
		padding-top: 15px;
		font-size: 11px;
	}
	/* 枠のマージン・パディング */
	.mb { margin-bottom: 40px; }
	.pt { padding-top: 40px; }
	.pb { padding-bottom: 40px; }
	/* アンカーリンク用上部スペース */
	.pad_anchor {
		margin-top: -50px;
		padding-top: 50px;
	}
	/*--------------------------------------------------
		トップページ
	--------------------------------------------------*/
	/* トップメッセージ */
	#top_msg::before {
		background-size: 18% 100%;
	}
	#top_msg {
		padding-top: 70px;
		margin-top: -52px;
	}
	#top_msg ol {
		width: 367px;
	}
	#top_msg ol li span {
		width: 30px;
		height: 30px;
		line-height: 30px;
		box-sizing:inherit;
	}
	#top_msg ol li {
		font-size: 20px;
	}
	#top_msg ol li span {
		font-size: 20px;
		width: 35px;
		height: 35px;
	}
	#total p {
	font-size: 20px;
	padding: 0 30px;
	}
	/* メニューコンテンツ */
	#top_menu .in .box,
	#top_menu .in+.in .box {
		width: 230px;
		height: 230px;
		background-size: 100% auto;
	}
	#top_menu .in .box:nth-of-type(2),
	#top_menu .in .box:last-of-type,
	#top_menu .in+.in .box:nth-of-type(2),
	#top_menu .in+.in .box:last-of-type {
		background-size: 100% auto;
	}
	#top_menu h2.sub1 {
		font-size: 20px;
	}
	
/*--------------------------------------------------
	診療案内
--------------------------------------------------*/
	#menu_page.bg_wide:before {
		background-size: 30% auto;
	}
	#menu_page .box {
		width: 100%;
		box-sizing: border-box;
		margin-bottom: 30px;
	}
	#menu_page .box h4.ico,
	#menu_page .box h4.line {
		font-size: 18px;
		background-position: left top 5px;
	}
	#menu_page .box .in {
		padding: 15px;
	}
	#menu_page .box .in .list {
		-webkit-justify-content: center;
		justify-content: center;
		text-align: center;
	}
	#menu_page .box .in .list dl {
		display: inline-block;
		margin: 0 5px;
	}
	#menu_page .box .in .fl {
		border-bottom: 1px solid #fa8700;
		padding-bottom: 15px;
	}
	#menu_page .box .in .fr {
		padding-top: 15px;
	}
/*--------------------------------------------------
	院長のご紹介
--------------------------------------------------*/
	#doctor_msg h3.sub {
		margin-bottom: 50px;
	}
	#doctor.bg_wide:before {
		background-size: 30% auto;
	}
	#doctor_msg .wrap {
		display: block;
	}
	#doctor_msg .wrap .box {
		width: 100%;
		border-radius: 20px;
		border: 10px solid #fff5e1;
		margin-bottom: 30px;
	}
	#doctor_msg .wrap .box p.ttl {
		font-size: 18px;
	}
	#doctor_msg .wrap .box p.img img {
		width: 60px;
	}
	#doctor_msg .line_area p.b {
		font-size: 17px;
	}
	#doctor_msg .line_area p.orange {
		font-size: 25px;
	}
	#doctor_prf .prf p.name {
		text-align: center;
	}
	#doctor_prf .prf p.img {
		text-align: center;
		margin-bottom: 30px;
	}
	#doctor_info .cf {
		margin-bottom: 20px;
	}
	#doctor_info table {
		margin-bottom: 20px;
	}
	#doctor_info .img_rit, #doctor_info .img {
		float: none;
		text-align: center;
		margin-left: 0;
	}
	#doctor_prf .prf dl dd ul {
		float: none;
		margin-right: 0;
	}
	#doctor_prf .prf dl dd ul:first-of-type{
		margin-bottom: 10px;
	}
/*--------------------------------------------------
	当院のご案内
--------------------------------------------------*/
	#about.bg_wide:before {
		background-size: 30% auto;
	}
	#access p.txt {
		margin-bottom: 15px;
	}
	#room .list dl {
		width: 32.5%;
		margin-left: 1%;
		float: left;
	}
	#room .list dl dd {
		line-height: 1.7;
		padding: 5px 10px;
		font-size: 90%;
		text-align: left;
	}
	#room .bgm {
		padding: 0;
	}
	#room .bgm p.txt {
		margin-bottom: 15px;
	}
	#room .bgm .imgs {
		text-align: center;
	}
	#room .bgm .imgs p {
		display: inline-block;
	}
	/*精度の高い保険外料金表（税別）*/
	#room .bgm .box {
		width: 100%;
	}
	#room .bgm .box dl {
		width: 100%;
		box-sizing: border-box;
		display: block;
	}
	
	/*--------------------------------------------------
		お問い合せ
	--------------------------------------------------*/
	#mailform .tbl {
		border-bottom: 1px solid #BBB;
	}
	#mailform .tbl th,
	#mailform .tbl td {
		display: block;
		width: auto;
		border-bottom: none;
	}
	#mailform .tbl input[type="text"],
	#mailform .tbl textarea {
		font-size: 120%;
	}
	#mailform .btn input {
		width: 120px;
	}

/*------------------------------------------------*/
}